Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

How to Think Like a Computer Scientist

Allen B. Downey

3 readers recommend it across 2 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

aridiculous
It wasn't bad, but I don't agree with this being recommended as a best first book. Pine's code uses a fair amount of personal coding preferences without explaining them. To a beginner, this can be extremely confusing. How to Think like a Computer Scientist was a superior introduction in my opinion. It got me excited about learning a language comprehensively.

Also recommended in this reply

mtts
If you're posting here, presumably you know how to program already. In that case working through the free "Dive into Python" PDF really is the first step you should take. After the first seven chapters you should then be able to make do with the online docs (the remaining chapters cover specialized material like HTML parsing, SOAP calls and test based development which are, in my opinion, not the first thing you should be worried about when learning a new language). "Learning Python" and especially "How to think like a computer scientist" are targeted towards people with very little programming experience. If that's you, my vote goes to "How to think like a computer scientist" (ymmv).

Also recommended in this reply

antiform
I'm not a big fan of the O'Reilly books on Python, but if you prefer the style of Learning Python, you can't really go wrong. Most of the basic Python tutorials teach more or less the same material, so you won't miss too much by choosing one tutorial over the other. I personally recommend How To Think Like A Computer Scientist (http://openbookproject.net/thinkCSpy/). It doesn't cover everything in 2.5, but I think most of the stuff in 2.5 you're better off just reading the release notes after you have a basic grasp on the pre-2.5 stuff. You're going to be reading a lot of code to master the nuances of Python, and most of it is pre-2.5 Python, so you should know it well. If you want to use that book, there's also assignments and projects available from UC Berkeley's self-paced Python course, CS 9H, at http://www-inst.eecs.berkeley.edu/~selfpace/cs9honline/ if you want more structure.