Think Like a Programmer: An Introduction to Creative Problem Solving (Paperback)

Think Like a Programmer: An Introduction to Creative Problem Solving By V. Anton Spraul Cover Image

Think Like a Programmer: An Introduction to Creative Problem Solving (Paperback)


Backordered - ETA Unknown
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.
V. Anton Spraul has taught introductory programming and computer science for more than 15 years. He is the author of Computer Science Made Simple (Broadway) and How Software Works (No Starch Press). He offers advice for beginning programmers in his series "Learning to Program: A Guide" on his website (
Product Details ISBN: 9781593274245
ISBN-10: 1593274246
Publisher: No Starch Press
Publication Date: August 12th, 2012
Pages: 256
Language: English
"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,'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, 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