Think Like a Programmer: An Introduction to Creative Problem SolvingThe real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to: –Split problems into discrete components to make them easier to solve –Make the most of code reuse with functions, classes, and libraries –Pick the perfect data structure for a particular job –Master more advanced programming tools like recursion and dynamic memory –Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer. |
Contents
1 | |
Pure Puzzles
| 25 |
Solving Problems with Arrays
| 55 |
Solving Problems with Pointers and Dynamic Memory
| 81 |
Solving Problems with Classes
| 111 |
Other editions - View all
Think Like a Programmer: An Introduction to Creative Problem Solving V. Anton Spraul No preview available - 2012 |
Common terms and phrases
_listHead abstract data type algorithm allocated array ARRAY_SIZE assign basic binary tree chapter char character checksum cin.get client code component compute const int constructor copy count cout create data member data structures deallocated declaration delete digit digitChar dynamic example files going goose grade guess heap highest revenue identification number idNum ifwe Ifyou implementation information hiding insertion sort integer iterative function iterator Kobayashi Maru language let’s letter linked list listNode look loop loopPtr lowercase MANAGER memory method mode node NULL operations outputCharacter parameter pattern Player pointer position problem solving puzzle qsort record recursive call recursive function requires reuse sample solution sort specific stack Standard Template Library steps string struct student studentCollection studentNode studentRecord sudoku tail recursion technique there’s tile puzzle tiles tion traversal uppercase variable void we’ll word list