
Think Python
by Allen B. Downey, Allen Downey · first published 2009
68% recommend27% neutral5% critical
Why HN recommends it
Free, beginner-friendly introduction to programming that teaches Python alongside core computer science thinking; suits first-time learners, including self-taught people and teachers, with a printed edition available.
Summarised by Claude from recommending comments
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language one step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. Through exercises in each chapter, you’ll try out programming concepts as you learn them. Think Python is ideal for students at the high school or college level, as well as self-learners, home-schooled students, and professionals who need to learn programming basics.
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…suggestions put forth by others: -- How to Design Programs (get version 2. Racket, the IDE for this book, is practically plug-and-play, so you won't waste time prepping your development environment) -- Think Python by Allen Downey (i haven't read this one, but it comes very highly recommended. the excerpts I've read show that Allen communicates the concepts very clearly) -- Eloquent Javascript (very good introduction,…
on “Best program and books to learn how to code?” ↗I have three recommendations: Think Python: http://greenteapress.com/wp/think-python-2e/ Polya's How to Solve It: https://en.wikipedia.org/wiki/How_to_Solve_It Udacity's Design of Computer Programs: https://www.udacity.com/course/design-of-computer-programs--...
on “Show HN: Learn to Code for Free” ↗…several versions with different titles - Algorithmics: The Soul of Computing was, I think, a cut-down version. Seconding Petzold's Code for hardware and low-level programming. Also seconding Downey's Think Python (which has appeared in several versions with different titles). It is an easy read but is a bit deeper than many introduction to Python books. Also seconding Wirth's Algorithms + Data Structures = Programs…
on “Ask HN: I'm looking for a good book on the fundamentals of CS” ↗…of open source projects that did things similar to things I wanted to do. There's lots of ways to learn development like that today, online, including great open source books like Dive Into Python and Think Python and Learn Python the Hard Way. There isn't so much of that for design. Not online, anyway. I don't write about "how to design" because, like programming, it's something you have to learn by doing.…
on “Ask HN: What do you wish you knew about UI/UX design?” ↗…CS50x on edx.org. It's meant to be an introduction to programming for people who've never even written a for-loop. CS50x uses C, but there are plenty of good introductions with other languages. Google Think Python for a free pdf of an introductory programming book that teaches Python and how to think like a programmer. Following that up with Udacity's Intro to CS course is a great way to get your feet wet. There…
on “Being a “dumb” girl in Computer Science” ↗The freely available online book Think Python is a fantastic introduction to both CS and Python and includes a chapter on turtle graphics with some fun exercises.
on “Seymour Papert has died” ↗The resources are out there. It's more an issue of educators and policy-makers either not knowing they exist or not knowing that's what they need. I'm thinking of books like Think Python and How to Design Programs.
on “How to Write a Spelling Corrector” ↗…mentioning is "Structure and Interpretation of Computer Programs" by Abelson and Sussman(s). It teaches programming concepts using the Lisp/Scheme language (seldom used any more), but does so brilliantly. "Think Python: How to Think Like a Computer Scientist" by Downey might provide the right mix of computing concepts and programming practice. If you do want a traditional intro to CS theory, two books that cover that…
on “Ask HN: I'm looking for a good book on the fundamentals of CS” ↗Think Python is a fantastic intro-programming text. After mucking about with bits of code for a couple of years, I picked up Downey's previous version of the book, and that's when I became a programmer. I highly…
on “Blunt and necessary review of programming language books.” ↗…get up and running because the language syntax and frameworks are not as straightforward to grasp for a complete beginner. Ruby and Python have awesome books for beginners and intermediate. I recommend Think Python by Allen Downey and Learn to Program by Chris Pine for beginners. Both are interesting, relatively small, and give you a taste of the language, and both are free. Both Ruby and Python have frameworks…
on “What's the Easiest Programming Language I Can Learn” ↗When I was 17 at my junior/senior high school, I taught about 20 entering 7th grade class programming and it worked out very well. Downey's Think Python might be a good place to start (free download, but I'd recommend getting the hard copy) http://www.greenteapress.com/thinkpython/ For reviews: http://www.amazon.com/Think-Python-Allen-B-Downey/dp/1449330...…
on “Ask HN: Advice for 14-year-old who wants to learn to code?” ↗This repo maintains list of free programming books [0]. Many of the books at Green Tea Press[1] are available for free: - Think Python: How To Think Like a Computer Scientist - Think Bayes: Bayesian Statistics in Python - Think Complexity: Exploring Complexity Science with Python - Think Stats: Probability and Statistics for Programmers…
on “Ask HN: What are your recommended reads that are available for free?” ↗Allen Downey's Think Python is that book for Python, though focused more on teaching good programming habits than scripting.
on “Advice on learning Python efficiently” ↗Allen Downey wrote a Perl 6 book?! Wow. Definitely checking that out. His Think Python is my go-to recommendation for a introductory Python book. Link to the Perl book: http://greenteapress.com/wp/think-perl-6/
on “Think Perl 6 mega book review” ↗It's used in the book Think Python by Allen Downey. https://greenteapress.com/wp/think-python-2e/ (Case Study: interface design http://greenteapress.com/thinkpython2/html/thinkpython2005.h...) The book is very good for first-time learners…
on “Show HN: A modern BASIC-like teaching and learning programming language” ↗