Goodreads helps you keep track of books you want to read.
Start by marking “Think Like a Programmer: An Introduction to Creative Problem Solving” as Want to Read:
Think Like a Programmer: An Introduction to Creative Problem Solving
Enlarge cover
Rate this book
Clear rating
Open Preview

Think Like a Programmer: An Introduction to Creative Problem Solving

3.89  ·  Rating details ·  326 ratings  ·  24 reviews
Rewire your brain

Examples in this book are written in C++, but will improve your ability to think like a programmer in any language.

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 pr
...more
Paperback, 233 pages
Published August 8th 2012 by No Starch Press (first published July 29th 2012)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Think Like a Programmer, please sign up.
Popular Answered Questions
Lujza You should know some basics in order to understand presented code and do the tasks

Community Reviews

Showing 1-30
Average rating 3.89  · 
Rating details
 ·  326 ratings  ·  24 reviews


More filters
 | 
Sort order
Wojtek Ogrodowczyk
Jan 02, 2017 rated it did not like it
Disclaimer: I dropped this book after getting through the first 15% and just browsing till the end.

I didn't like that, because of the three assumptions that the author made while writing the book and I believe all of them are false:

1. Being better in solving logical puzzles (how to cross a river with a fox, goat, and a cabbage, etc.) makes you a better programmer. Personally, I'm pretty bad at those puzzle, but I'm a fairly successful programmer with 10 years of experience. I don't see how gett
...more
Steef Jacobson
Aug 08, 2012 rated it it was amazing
the only part I didn't like was the reliance to C++ but it really doesn't matter the language over the way to approach programming. I liked programming's relationship to puzzles; it reminded of of when learning to play the card game Bridge my roommate (LPC) compared each Bridge hand as a Puzzle to solve. Good examples and good exercises that where not just busywork homework. Thanks.
Nathan Albright
Nov 08, 2016 rated it it was amazing
Shelves: challenge
It should go without saying that this book is most of benefit to someone who is a computer programmer, and especially someone who is skilled enough at C++ to do the exercises in this book. I must admit that I am not the ideal person for this book, not having that sort of programming basis, something that the author repeatedly comments on, such as when he pokes the reader saying: "I'm not kidding about doing the exercises. You're not just reading the chapters and moving on, are you (109)?" about ...more
Cynthia S Elacqua
I wish this had been one of my college textbooks

My college did a decent job of training computer majors to be problem solvers. This book would have made an excellent companion text to instruction on data structures and algorithms.

The author recommends knowledge of or simultaneous study of C++. I feel it would be accessible to any programmer in the C language family. Programmers in other languages could also obtain some benefit, but understanding would be a harder climb.

Sure wish my workplace ha
...more
Artur Sabirov
Sep 06, 2012 rated it really liked it
Несмотря на слегка наивное название, книга сочетает в себе несколько очень интересных кейсов в решении логических задач (Problem Solving). реализация алгоритма Луна (Luhn), шифрование текста и использование динамической памяти.
Matt
Mar 05, 2018 rated it it was ok
Unfortunately, Think Like a Programmer leaves something to be desired. This is much less a book about developing your skills as a programmer than it is a book about strategical problem-solving. I suppose that was an oversight on my part since the title states it's an introduction to problem-solving, but I was expecting more.

I wish I could say I was given a new perspective on said problem-solving, but I wasn't. The way this book approaches problem-solution situations can be easily summed up as "b
...more
Misty Madonna
Aug 13, 2018 rated it it was amazing
Shelves: computer-science, own
This book’s fantastic. From a beginner to an experience programmer, I believe everyone can benefit from reading it. It hammers down some fundamentals and also describes a new way of thinking about programming concepts.

This is the best resource I’ve found for preparing for interviews and I’ve read CTCI 3x. He explains things thoroughly and so in-depth, that it feels like he’s sitting in a room with you talking to you about it.

He’s also encouraging and that pushed it even more to the top for me.
...more
Madhur Bhargava
Sep 01, 2019 rated it it was amazing
Shelves: programmming
It is rare to come across an author who is really skilled at his craft and also understands his audience at the same time. This book is crafted by one such author and is a rare gem. The explanation and the level of details/insights provided for each topic is astounding. This book is an eye opener for many CS concepts and should be included in every higher CS degree’s curriculum. Highly recommended for all programmers and those who want to be one out there.
Heather Gray
Mar 06, 2018 rated it it was amazing
Absolutely brilliant! Would recommend this book to anyone starting to learn programming, and anyone who is self-taught or just wants to practice algorithmic thinking. The way the author teaches programming in this book is unlike any other I've come across. And it's timeless - the lessons in this book will apply even 10 years later.
Yu-Hsien Kuo
May 09, 2017 rated it it was amazing
Shelves: programming
A really well-written book for someone with a foundation algorithms and data structures. The information is presented in a structured manner, there are plenty of examples, and clear explanations are given throughout. Highly recommended for anyone who's acquired basic knowledge of a C-like language and would like to know more.
Corrado
Oct 29, 2017 rated it really liked it
A great book. It really helps with developing your problem solving skills, and it appeals to a beginner and an expert programmer alike.

The problems presented are solved with a step-by-step explanation and pseudocode, which makes everything a lot more understandable. Each problem also has a C++ solution, so that you may test the code yourself.

Overall a great book to learn some problem solving skills - it's never too late for that.
Jeff Mottishaw
Jun 20, 2019 rated it it was amazing
This book gives a clear and concise overview of how to start applying beginning programming projects to real-world problems. I really appreciated the author’s use of humor and multiple examples per chapter.
Saiko
Mar 12, 2017 rated it really liked it
- found some pieces of useful advice that resonated/introduced new perspectives to my current knowledge in each chapter.
- All in all would recommend it to a programmer in the making.
- it's an easy read.
- problems are not so difficult.
Darin
Jul 08, 2018 rated it really liked it
Great information, exercises, and advice for anyone interested in programming and thinking of making a career.
Fernando De Freitas
Aug 23, 2019 rated it really liked it
Shelves: development, owned
Decent book. Not exceptional but has a lot of good information for anybody interested in getting into software development.
Sulo
Apr 15, 2019 rated it liked it
Pretty Good for a beginner to have as a reference. The dependency to C++ is a bit annoying but understandable.
Christos
Mar 04, 2017 rated it really liked it
Shelves: it
This is a good read for entry- to mid-level programmers. Presents good practises and approaches to problem solving techniques with detailed examples and extra exercises to work on.
Benjamin
A perfectly fine book to flip through.

Most of the headline advice here is the sort you could get from any "how to solve programming problems" book: restate the question, pay attention to the constraints, reduce the puzzle area, draw diagrams.

And yet, though this is not the first book in this area that I've read -- which would seem to make it repetitive and unnecessary -- I actually found myself mostly interested in Spraul's examples and explanations. I especially enjoyed his chapters on recursio
...more
ifknot
Sep 11, 2016 rated it liked it
Shelves: comp-sci
It's an okay book & one I certainly wish it was available to me maybe 15 years ago! Not only is it a stealth introduction to computer science it's a good primer for C/C++. The initial style is a bit whacky and slightly lowbrow but the author seems to calm down and be more readable as the book progresses. However, his persistent admonishments to 'do the practice' at the start of each and every 'Excercises' section jars against the overall friendly tone. The Chapters on recursion are the best ...more
Stephanie
Mar 27, 2015 rated it really liked it
Shelves: tech-books
The best part of the book is the logic explanation to each problem presented. When you know how to approach the solutions that certainly helps you plan your code. It was an entertaining read for a subject that could easily be a bit dry.
Annie
Apr 20, 2014 rated it really liked it
Shelves: cs
Lots of good ideas and exercises in this book. If you're going to read it, do it right, and try everything!
Dgg32
Feb 01, 2015 rated it it was amazing
a book should be read early in a porammer's career. It is about some deepdown way of thinking in writing programs to solve problems and its effect on me is subtle but profound.
Irina
Nov 04, 2015 rated it really liked it
A good read for college students with emphasis on problem solving rather that a specific language syntax.
EC
Nov 22, 2013 marked it as to-read
Shelves: own
Putting this on hold, it's a good book I just have too many other things to work on right now.
Cpasalidis
rated it it was amazing
Apr 07, 2013
Angelo
rated it really liked it
Feb 19, 2019
Ryan Gunn
rated it liked it
Aug 28, 2015
Aivaras Šimulis
rated it it was ok
May 20, 2019
Ron
rated it it was ok
Sep 25, 2018
Peter and Teresa
rated it really liked it
Mar 11, 2018
« previous 1 3 4 5 6 7 8 9 10 11 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Write Great Code: Volume 1: Understanding the Machine
  • Think Complexity: Complexity Science and Computational Modeling
  • Regular Expressions Cookbook
  • Code Craft: The Practice of Writing Excellent Code
  • Learn to Program
  • The Developer's Code: What Real Programmers Do
  • The Principles of Object-Oriented JavaScript
  • Interactive Data Visualization for the Web
  • Ruby on Rails Tutorial: Learn Web Development with Rails (Addison-Wesley Professional Ruby Series)
  • The Ruby Programming Language
  • Version Control with Git
  • Design Patterns in Ruby
  • Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript
  • Ruby Best Practices
  • Object-Oriented JavaScript
  • Programming Android: Java Programming for the New Generation of Mobile Devices
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • Even Faster Web Sites
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“Don’t Get Frustrated The final technique isn’t so much a technique, but a maxim: Don’t get frustrated. When you are frustrated, you won’t think as clearly, you won’t work as efficiently, and everything will take longer and seem harder. Even worse, frustration tends to feed on itself, so that what begins as mild irritation ends as outright anger.” 1 likes
“I call a program like that, one that appears to produce correct results but breaks one or more of the stated rules, a Kobayashi Maru” 0 likes
More quotes…