My Account Log in

3 options

Think like a programmer : an introduction to creative problem solving / by V. Anton Spraul.

Ebook Central Academic Complete Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Spraul, V. Anton.
Language:
English
Subjects (All):
Computer programming.
Creative thinking.
Problem solving.
Physical Description:
1 online resource (260 p.)
Edition:
1st edition
Place of Publication:
San Francisco : No Starch Press, c2012.
Language Note:
English
System Details:
text file
Summary:
Many programmers struggle to write programs, even though they understand their chosen programming language. Programming isn't about syntax-it's about problem solving, and all good programmers can solve problems. Unfortunately, most programming books focus on syntax and semantics, resulting in programmers who can't make the leap from reading programs to writing them. Think Like a Programmer bridges that gap, teaching readers how to solve problems systematically, offering numerous techniques and examples designed to demonstrate how to organize thoughts, discover solutions, and find strategies to
Contents:
Acknowledgments; Introduction; About This Book; Prerequisites; Chosen Topics; Programming Style; Exercises; Why C++?; 1: Strategies for Problem Solving; Classic Puzzles; The Fox, the Goose, and the Corn; Problem: How to Cross the River?; Sliding Tile Puzzles; Problem: The Sliding Eight; Problem: The Sliding Five; Sudoku; Problem: Completing a Sudoku Square; The Quarrasi Lock; Problem: Opening the Alien Lock; General Problem-Solving Techniques; Always Have a Plan; Restate the Problem; Divide the Problem; Start with What You Know; Reduce the Problem; Look for Analogies; Experiment
Don't Get FrustratedExercises; 2: Pure Puzzles; Review of C++ Used in This Chapter; Output Patterns; Problem: Half of a Square; Problem: A Square (Half of a Square Reduction); Problem: A Line (Half of a Square Further Reduction); Problem: Count Down by Counting Up; Problem: A Sideways Triangle; Input Processing; Problem: Luhn Checksum Validation; Breaking Down the Problem; Problem: Convert Character Digit to Integer; Problem: Luhn Checksum Validation, Fixed Length; Problem: Simple Checksum Validation, Fixed Length; Problem: Positive or Negative; Putting the Pieces Together; Tracking State
Problem: Decode a MessageProblem: Reading a Number with Three or Four Digits; Problem: Reading a Number with Three or Four Digits, Further Simplified; Conclusion; Exercises; 3: Solving Problems with Arrays; Review of Array Fundamentals; Store; Copy; Retrieval and Search; Sort; Compute Statistics; Solving Problems with Arrays; Problem: Finding the Mode; Refactoring; Arrays of Fixed Data; Non-scalar Arrays; Multidimensional Arrays; Deciding When to Use Arrays; Exercises; 4: Solving Problems with Pointers and Dynamic Memory; Review of Pointer Fundamentals; Benefits of Pointers
Runtime-Sized Data StructuresResizable Data Structures; Memory Sharing; When to Use Pointers; Memory Matters; The Stack and the Heap; Memory Size; Lifetime; Solving Pointer Problems; Variable-Length Strings; Problem: Variable-Length String Manipulation; Linked Lists; Problem: Tracking an Unknown Quantity of Student Records; Conclusion and Next Steps; Exercises; 5: Solving Problems with Classes; Review of Class Fundamentals; Goals of Class Use; Encapsulation; Code Reuse; Dividing the Problem; Information Hiding; Readability; Expressiveness; Building a Simple Class; Problem: Class Roster
The Basic Class FrameworkSupport Methods; Classes with Dynamic Data; Problem: Tracking an Unknown Quantity of Student Records; Adding a Node; Rearranging the List; Destructor; Deep Copy; The Big Picture for Classes with Dynamic Memory; Mistakes to Avoid; The Fake Class; Single-Taskers; Exercises; 6: Solving Problems with Recursion; Review of Recursion Fundamentals; Head and Tail Recursion; Problem: How Many Parrots?; Approach 1; Approach 2; Problem: Who's Our Best Customer?; Approach 1; Approach 2; The Big Recursive Idea; Problem: Computing the Sum of an Array of Integers; Common Mistakes
Too Many Parameters
Notes:
Includes index.
Description based on publisher supplied metadata and other sources.
ISBN:
9781593274566
1593274564
OCLC:
830164243

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account