Read more
The 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 .
List of contents
Introduction
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
Report
"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."
Adrian Woodhead, Slashdot
"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."
Ariane Coffin, Wired.com's GeekMom
"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."
Choice Magazine
"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."
Lucas Westermann, Full Circle Magazine
"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."
Phil Bull, author of the official Ubuntu documentation
"I guarantee if you work through the entire book you will stretch your brain."
David Bolton, About.com C/C++/C#
"I would definitely recommend this book as a companion to whatever text is used to introduce [new students] to programming and/or program logic."
Joe Saur, The ACM's Software Engineering Notes Magazine
"[V. Anton Spraul's] advice is simple, straightforward, and practical. It's an easy and valuable read."
James Powell, Enterprise Systems
"I highly recommend Think Like a Programmer 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."
Robert Perkins, Game Vortex
"This is definitely a book that I would use in teaching programming to others."
Stephen Chapman, Ask Felgall