"The author is obviously very knowledgeable and experienced with teaching hard concepts to new learners and this shows in his no-nonsense, down-to-earth but enjoyable writing style."<br /><b>—Adrian Woodhead, Slashdot <br /></b><br />"Spraul has taught intro computer science classes for over fifteen years and it shows. He does a great job showing the theory using concrete examples, and rightfully puts a great deal of emphasis on programming exercises to strengthen the concepts."<br /><b>—Ariane Coffin, Wired.com's GeekMom <br /></b><br />"The combination of conceptual overview and common problem-solving techniques that are applicable to many applications make this a particularly feasible way to supplement or review programming skills while learning a systematic approach to problem solving."<br /><b>—Choice Magazine<br /></b><br />"This is one of the most helpful books I've read, due to the fact that it guides you towards designing a system for yourself, as opposed to encouraging a mindset where there can be only one correct method."<br /><b>—Lucas Westermann, Full Circle Magazine<br /></b><br />"The book is well-written, with tons of excellent advice and solid, well-thought-out examples. If you’re willing to devote some time to studying the material, you’ll soon find yourself equipped with an impressive array of problem-solving strategies and, maybe, a new outlook on programming."<br /><b>—Phil Bull, author of the official Ubuntu documentation <br /></b><br />"I guarantee if you work through the entire book you will stretch your brain."<br /><b>—David Bolton, About.com C/C++/C#<br /></b><br />"I would definitely recommend this book as a companion to whatever text is used to introduce [new students] to programming and/or program logic."<br /><b>—Joe Saur, The ACM's Software Engineering Notes Magazine<br /></b><br />"[V. Anton Spraul's] advice is simple, straightforward, and practical. It's an easy—and valuable—read."<br /><b>—James Powell, Enterprise Systems <br /></b><br />"I highly recommend <i>Think Like a Programmer</i> to anyone who wants to hone their creative problem-solving skills or to anyone who has learned to program, but doesn't feel that they fully understand the concepts."<br /><b>—Robert Perkins, Game Vortex<br /></b><br />"This is definitely a book that I would use in teaching programming to others."<br /><b>—Stephen Chapman, Ask Felgall<br /></b>
Chapter 1: Strategies for Problem Solving
Chapter 2: Pure Puzzles
Chapter 3: Solving Problems with Arrays
Chapter 4: Solving Problems with Pointers and Dynamic Memory
Chapter 5: Solving Problems with Classes
Chapter 6: Solving Problems with Recursion
Chapter 7: Solving Problems with Code Reuse
Chapter 8: Thinking Like a Programmer
Index