Goodreads helps you keep track of books you want to read.
Start by marking “How to Think Like a Computer Scientist: Learning with Python” as Want to Read:
How to Think Like a Computer Scientist: Learning with Python
Enlarge cover
Rate this book
Clear rating
Open Preview

Read Book* *Different edition

How to Think Like a Computer Scientist: Learning with Python

4.11  ·  Rating details ·  1,260 ratings  ·  127 reviews
Here you'll find a short introduction to Logo as a general purpose programming language, as opposed to its limited educational use with turtle graphics. Logo is a simplified dialect of Lisp and retains much of the power of Lisp. It is thus suitable for such advanced projects such as artificial intelligence programming.
Unknown Binding, 288 pages
Published January 1st 2005 by Green Tea Press (first published January 4th 2002)
More Details... Edit Details

Friend Reviews

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

Community Reviews

Showing 1-30
Average rating 4.11  · 
Rating details
 ·  1,260 ratings  ·  127 reviews

More filters
Sort order
Start your review of How to Think Like a Computer Scientist: Learning with Python
☘Misericordia☘ ~ The Serendipity Aegis ~  ⚡ϟ⚡ϟ⚡⛈ ✺❂❤❣
up-to the point,
has tasks that actually make sence,
free on- and offline (the author's page: ).
What else could a beginner ask for?
Jeanne Boyarsky
Sep 08, 2012 rated it it was amazing  ·  review of another edition
Shelves: technology
“Think Python” is available online ( which means you can decide if you like it first. Personally, I wanted to write in my copy making the paper copy a great thing. Inexpensive too for a computer book. It's one of those great books I know I'll refer to again. Can't imagine why you'd buy the Kindle version though.

The book is targetted at those learning Python. It's appropriate whether you are new to programming or coming from another language. And most impo
Keyo Çalî
I read it as a warm up
and it was what I expected
if you are new to Python don't read this book

Eric Lawton
Jan 27, 2016 rated it it was amazing  ·  review of another edition
I would have given 4* but it is available in PDF FOR FREE, authorized by author/publisher ,so definitely a 5*.
I'm an experienced programmer in a dozen or so languages so I read it quickly - it told me just what I wanted to know about differences between Python AS A LANGUAGE and Java, C++ .
Actually, the most important reason for learning any new language these days is the packages available and this intro didn't go into that at all. Python is a full general purpose language but the main reason fo
Jun 19, 2015 rated it it was ok  ·  review of another edition
As complete programming newbie, this book was a huge source of frustration and hair loss for me. However, having gone through the book, I can actually use Python, and have knowledge to build on. So, while I hated the book with a passion, it did kind of do its job.

Some of the problems with this book:

End-of-chapter exercises often involve things like solving multi-variate calculus, resulting in hours of research just trying to figure out the components of the problem. It felt like Downey was tryin
Feb 08, 2009 rated it it was amazing
This is an excellent book. Honestly, I have rarely seen a book as find as this. The Author describes what can only be seen as the core of all computer programming skills, and gives exercises for each.

Highly recommend.
Charlotte Guan
Apr 26, 2013 rated it it was amazing  ·  review of another edition
Good for people new to the programming world as well as those who have experience in other languages like Java. Very easy to read and follow. A nice light weight reading on a train. It doesn't tell you everything. But it gives you enough information of the key concepts.
Dec 05, 2018 rated it it was amazing  ·  review of another edition
One of the most lucid books about Python I've read. I've been a hobbyist developer for a while this was very helpful in taking me deeper. One tip I have is to read this with a relaxed mind, not trying to rush or even complete the book, but just to pick it up and enjoy and explore whatever piece jumps out at you. Reading this slowly made it very very helpful for me.
Tharindu Dissanayake
Think Python is a relatively concise, yet a very informative and a beginner friendly guide for new programmers. This book contains a number of small examples as well as a ton of awesome exercises to practice what you learn in each chapter. Most of the examples are from math-based problems and I think people coming from a strong mathematical foundation will really love this book.
Carrie Li
Dec 03, 2017 rated it really liked it  ·  review of another edition
Recommends it for: Python beginners
While this book is good for beginners, I would recommend it for those who are not ABSOLUTE beginners as I found it to be a good overview and review text for those who have had some exposure to programming concepts. There are some good exercises after each chapter that might be challenging for pure beginners, but if you're able to get through most of them, you'd have a good (beginner's) grasp of the material. I liked how the examples were presented and built on with new concepts in subsequent cha ...more
I did a quick re-read of this for the third or fourth time to see if the latest edition would shed more light on 2 vs 3 and the great schism.


It is weird coming back to my first programming language. It is like returning to a friend you didn't really understand, and now that you get things more, all their flaws are really obvious and oh god, its not php, but things are still not pretty.

It is still the one at the party thats useful for GIS and data science, so fuck it, I guess its useful.
Mar 05, 2017 rated it really liked it  ·  review of another edition
Pretty great intro for Python. Though I never got the chance to finish this since I haven't really got the need to use Tuples and Dictionaries yet. Still it was written pretty neat, easy to understand, has some sample problems with solutions at the end of each chapter. My knowledge was enough to get me start working on a Pygame so I think it was pretty solid.
this was pretty good as an introduction to the language. be warned the title is very accurate and the book takes a very Computer Science approach to the lessons. i've found Automate the Boring Stuff with Python: Practical Programming for Total Beginners much more suitable to my needs as the emphasis is on results and there is less of the theory and maths problems. to be fair i did buy this book because of the beautiful parrot on the front and i still think he is lovely. i was quite upset when i ...more
Ashok Krishna
I should say that I was a little disappointed with the book. Though it does the job of teaching you the basics of Python, this book assumes that you are not new to programming and are already a practitioner of object-oriented programming. The exercises at the end of the book are all purely mathematical and/or based on computer problems only computer students are conversant with. Towards the end, it gets all the more technical, scaring you away. Good in parts.
Ben Field
Clear and well structured explanation of Python / programming fundamentals.
Severely held back by the website with code and solutions no longer being online, as well as the book being written for Python 2+, I’m not sure if there is an updated version available.
The end of chapter exercises can be extremely difficult and often use techniques not yet discussed at that point of the book. There is a disparity between the code discussed in the chapters and the code readers are asked to write, which can
Rafael Díaz de León
Really good as an introduction to Python and computer programming.
Pawel Waclawczyk
May 02, 2019 rated it really liked it  ·  review of another edition
I've read this book to refresh my knowledge of Python. It's a very good book for junior software engineers as it does not only focus on Python itself but also on programming in general. I liked the exercises at the end of each chapter. I'm not a fan of print-driven-debugging approach and I think that this book would be even better if it also introduced a reader to writing unit tests.
Jul 26, 2017 rated it it was amazing
Shelves: favorites
This is the best programming intro i've ever read. At 248 pages a little longer than its successor, Think Python (218 pages), it goes into improving efficiency by using sparse matrices and hinting. I seem to recall a bit on the dangers of storing decimals in binary, but may have read an edition more recent than the first or Python's official tutorial. ...more
Carlos Martinez
Jan 10, 2019 rated it really liked it  ·  review of another edition
Shelves: data-computing
Very clear, concise and effective. I raced through it in order to get the hang of Python's syntax - not a particularly challenging task if you're already familiar with a similar object-oriented high-level programming language (Ruby, in my case). 'Think Python' did the job well, and all the better for being available as a freely-downloadable PDF. No mention of unit testing, which is slightly shocking in this day and age. Also there's some cool stuff in Python 3.6 that isn't covered here (eg f-str ...more
Nov 07, 2012 rated it really liked it  ·  review of another edition
This book provided an excellent overview of the Python language. Clearly appropriate for those with some application development experience, but I think even quite accessible for the beginner. It was well written with easily understood examples and lots of exercises (with solutions available for download). I would recommend this book to anyone wanting to learn programming with Python.
Beibei Yan
Feb 07, 2019 rated it it was amazing  ·  review of another edition
Probably the best Python textbook I’ve ever read! It is, for the most part, beginner friendly, but also taps on content and applications that can be advanced. The underlying logic of the coding language (which should be quite simple) is explained very well and succinctly. I appreciate the odd (sometimes dark) sense of humor of the author.
Lari Thurso
Mar 08, 2019 rated it it was amazing  ·  review of another edition
Shelves: computing
A wonderful and concise introduction to Python, and computer programming. The examples and exercises are fun and interesting even at the early stages. The reader can get a great sense achievement by writing programs to address and analyse real-world puzzles and challenges. They will also gain confidence in writing and debugging professional code.
Prashanth Nuggehalli Srinivas
An excellent book that I found to be a great companion in my coursework at UoPeople. Written in a very simple language, it is a great book for anybody with a near-zero knowledge of programming. Python is one of the best languages to start off one's programming self-learning with.
Apr 11, 2013 rated it really liked it
I'm finding this to be a very gentle and useful intro text focused on approach and mindset vs "code." Yay! Look for the PDF on the open web.

Update: Still finding it useful as I get into the intermediate beginner levels re objects and functional programming
Aug 19, 2014 rated it it was ok
Not a bad book but I really don't think this book shows how a computer scientist thinks, and also not a good way to learn how to design algorithms, maybe a little more problem based books can be better.
Rafi Barash
Aug 20, 2017 rated it it was amazing  ·  review of another edition
Amazing book! With the help of this book and a few other resources, I was able to create a hangman game, a forest fire simulation, and encryptor, and a blackjack program all in Python. For a beginner looking to learn a programming language, use this book.
Artem Sokoljuk
Apr 05, 2018 rated it it was amazing  ·  review of another edition
I read this book and found it very good for beginners.
If compare it to Lutz - it is shorter and has tasks after each section, so you are not just reading but practicing.
Also Algorithms for rookies can be found as bonus at the end of this book.
Melika Barzegaran
Jul 12, 2019 rated it liked it  ·  review of another edition
Recommends it for: not-absolute beginners who want to learn python and know more of programming world in general
Shelves: computer-science
Too easy for experienced programmers (in python or other languages), and maybe a little tough for absolute beginners, but a nice introduction to python and programming world in general for not-absolute beginners.
Sherif Shehab
Nov 20, 2012 rated it really liked it
It's a very nice intro to programming and Python. It takes you out of complexity of programming language to programming concepts.
« previous 1 3 4 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming
  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners
  • Learning Python
  • Python for Data Analysis
  • Python for Everybody: Exploring Data in Python 3
  • Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow
  • The Hundred-Page Machine Learning Book
  • Python Cookbook
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Fluent Python: Clear, Concise, and Effective Programming
  • Learn Python The Hard Way
  • Python Programming: An Introduction to Computer Science
  • Web Scraping with Python: Collecting Data from the Modern Web
  • Programming Python
  • Artificial Intelligence: A Modern Approach
  • The Pragmatic Programmer: From Journeyman to Master
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Allen Downey is a professor of Computer Science at Olin College and the author of a series of open-source textbooks related to software and data science, including Think Python, Think Bayes, and Think Complexity, which are also published by O’Reilly Media. His blog, Probably Overthinking It, features articles on Bayesian probability and statistics. He holds a Ph.D. in computer science from U.C. Be ...more

News & Interviews

Need another excuse to treat yourself to a new book this week? We've got you covered with the buzziest new releases of the day. To create our...
14 likes · 8 comments
No trivia or quizzes yet. Add some now »