
George Pólya
A classic guide to breaking problems into parts and testing strategies, the same habit Spraul builds through his exercises. Its heuristics apply well beyond mathematics, as the source book also argues.
Reader-supported: when you buy through links on our site, we may earn an affiliate commission. Learn more
12 books to read next
If you loved Think Like a Programmer by V. Anton Spraul
Readers who love Think Like a Programmer usually value its focus on how to approach problems rather than just memorising syntax. Its chapters move steadily through one concept at a time, from classes and pointers to recursion, with open-ended exercises that ask you to work things out yourself. The tone is practical and encouraging, and the lessons apply beyond any single language or even beyond computing.

George Pólya
A classic guide to breaking problems into parts and testing strategies, the same habit Spraul builds through his exercises. Its heuristics apply well beyond mathematics, as the source book also argues.

Brian Christian, Tom Griffiths
Shows how computer science ideas help with everyday decisions, echoing Spraul's view that programming thinking reaches outside the field. Readers who enjoyed his broader lessons will find its examples engaging.

Seymour Papert
Explores how learning to program changes the way people think about problems. Readers drawn to Spraul's emphasis on creative problem solving will appreciate Papert's approach to learning through building.
Andrew Hunt, David Thomas
Offers practical habits for writing and maintaining code, complementing Spraul's focus on organising thoughts. Its short, concrete tips suit readers who want to apply problem-solving skills in real projects.

Steve McConnell
A thorough guide to construction, design and debugging that builds on the disciplined thinking Spraul teaches. Readers who value his step-by-step approach to problems will find it a natural next read.

Robert C. Martin
Focuses on writing readable functions, classes and modules, extending the ideas of splitting problems and reusing code. Readers who liked Spraul's treatment of classes will find many useful examples here.

Andrew Koenig, Barbara E. Moo
A hands-on introduction to C++ through practical programs, suited to readers who enjoyed the source book's C++ examples. It moves quickly into useful code, rewarding readers who like to learn by solving problems.
Bjarne Stroustrup
The definitive reference from the language's creator, useful once you have the concepts from Spraul's book. It covers classes, templates and memory management in depth for readers ready for more.

Scott Meyers
Offers concise, practical guidelines for writing better C++, including careful use of classes and memory. Readers who worked through Spraul's chapters on pointers and dynamic memory will find it a good follow-up.
Aditya Y. Bhargava
A friendly, illustrated introduction to common algorithms and data structures. It suits readers who liked Spraul's choice of data structures and want a gentle, visual path into the same ideas.

Jon Bentley
A collection of essays on solving programming problems elegantly, showing how careful reasoning beats brute force. Readers who enjoyed Spraul's open-ended exercises will find its problems stimulating.

Harold Abelson, Gerald Jay Sussman
A deep, rigorous exploration of abstraction, recursion and building programs from simple parts. Readers who found the recursion and code reuse chapters rewarding will find this a challenging next step.
We earn a commission if you buy through these links. Learn more