Hot Best Seller

How to Think Like a Computer Scientist: Learning with Python

Availability: Ready to download

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. 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.


Compare

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. 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.

30 review for How to Think Like a Computer Scientist: Learning with Python

  1. 4 out of 5

    ☘Misericordia☘ ⚡ϟ⚡⛈⚡☁ ❇️❤❣

    Short, up-to the point, lucid, practice-oriented, has tasks that actually make sence, structured, free on- and offline (the author's page: https://greenteapress.com/wp/think-py... ). What else could a beginner ask for? Short, up-to the point, lucid, practice-oriented, has tasks that actually make sence, structured, free on- and offline (the author's page: https://greenteapress.com/wp/think-py... ). What else could a beginner ask for?

  2. 5 out of 5

    Jeanne Boyarsky

    “Think Python” is available online (http://www.greenteapress.com/thinkpyt...) 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 “Think Python” is available online (http://www.greenteapress.com/thinkpyt...) 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 importantly, it is NOT a “Learn Python in X days” type book. Those have their place, but this book targets those who actually are/want to be developers. Hence the subtitle “How to Think Like a Computer Scientist.” Each chapter ends with debugging tips, a glossary of terms and numerous exercises for practice. Common idioms are covered in addition to syntax, techniques and algorithms. Recursion is presented in a not scary, approachable way. The author uses the term “state diagram” to refer to the state of variables in an object. I've never seen this usage before (being more used to the UML state diagram) and look forward to asking the author about it in his coderanch.com book promotion next month. I think this makes for a great first Python book. To be followed by one that teaches the Python libraries. It teaches you how to think in Python. And how to be a developer; not just a coder. Disclosure: I received a copy of this book from the publisher in exchange for writing this review.

  3. 5 out of 5

    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 I read it as a warm up and it was what I expected if you are new to Python don't read this book

  4. 4 out of 5

    Eric Lawton

    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 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 for choosing over similar languages is for scientific packages. A survey chapter on these would have made it 5* even at full price. I would also recommend the book for programming novices because it tells you some really useful things about introductory computer science as well; data structures and algorithms as well as object-oriented programming. Just a hint, not enough to really learn them, but so you will know they are out there and just as important as the language syntax and will dig deeper when ready.

  5. 5 out of 5

    Lydia

    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 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 trying to scare off less mathy folks like me. After spending upwards of 10 hours a week on these exercises, I gave up on them, and just did the less involved mid-chapter exercises. It's often unclear when Downey is building on a previous example in the chapter, as he rarely makes it explicit. On multiple occasions, my code matched his, but failed because I didn't realize he was adding to an earlier function. This resulted in more hours of anger and tears. Finally, I still haven't fully wrapped my head around object-oriented programming, or why you'd bother with it. I suppose I know it's there, anyhow, and can draw from it later. In sum, this book was a battle, but I made it, through sheer belligerence. I'm relieved that it's over, and that I'm now solving more relevant problems with Python.

  6. 5 out of 5

    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.

  7. 4 out of 5

    Jonathan

    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.

  8. 4 out of 5

    Angela Randall

    Free here. Free here.

  9. 4 out of 5

    Charlotte Guan

    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. 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.

  10. 5 out of 5

    ALOK KUMAR

    good

  11. 5 out of 5

    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.

  12. 4 out of 5

    Minh

    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. 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.

  13. 4 out of 5

    Nathan

    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. 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.

  14. 5 out of 5

    Cade

    Special Review for Reece: Most of the content covered in the book did not apply directly to what we were doing in my programming class, and I don’t have a practical use for python yet (I’m in mechanical engineering), so it’s hard for me to give it a rating out of 5 stars. But I think this book does a good job covering fundamentals and providing examples rather than just giving information without context. It also includes practice exercises at the end of chapters, which will be useful when I inev Special Review for Reece: Most of the content covered in the book did not apply directly to what we were doing in my programming class, and I don’t have a practical use for python yet (I’m in mechanical engineering), so it’s hard for me to give it a rating out of 5 stars. But I think this book does a good job covering fundamentals and providing examples rather than just giving information without context. It also includes practice exercises at the end of chapters, which will be useful when I inevitably come back to python in the future. Seeing as python is the new standard, I think I’ll be rereading this in the near future when I have more to glean from it. My programming skills can only expand, right?

  15. 4 out of 5

    Carrie Li

    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 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 chapters. I stress that this is a great overview book, and so it doesn't go into too much depth about each topic--just the minimal amount for you to be able to use the idea and move on.

  16. 4 out of 5

    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 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 often make the book demoralising.

  17. 5 out of 5

    tom

    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 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 read the inside back cover and saw he was extinct :(

  18. 5 out of 5

    Dmitry Kosintsev

    Extremely light and bite-size introduction to programming which, nevertheless, manages to cover a lot of important topics - from definitions of different languages to analysis of algorithms. The design of the book allows one to progress one step at a time. On the other hand, it provides a lot of practical examples and self-study exercises, which are built upon the topics of current and previous chapters.

  19. 4 out of 5

    Rafael Díaz de León

    Really good as an introduction to Python and computer programming.

  20. 5 out of 5

    Pawel Waclawczyk

    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. 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.

  21. 4 out of 5

    Nair

    Very clear for all of those wanting to start on their first programming language

  22. 5 out of 5

    Elvira Shukurova

    I am a school teacher and can tell that this is the worst textbook I have ever seen in my life. The explanations are very complicated, examples provided are heavily based on math and make very little sense to a beginner. It is such a pity that universities keep using this book for the beginning programming courses scaring students off coding. The only good thing about this book is that I did not have to buy it. It would be the worst investment ever. Don't waste your time on it. There are so many I am a school teacher and can tell that this is the worst textbook I have ever seen in my life. The explanations are very complicated, examples provided are heavily based on math and make very little sense to a beginner. It is such a pity that universities keep using this book for the beginning programming courses scaring students off coding. The only good thing about this book is that I did not have to buy it. It would be the worst investment ever. Don't waste your time on it. There are so many great books and online courses on Python for beginners that you can learn much more on your own.

  23. 5 out of 5

    Meagan

    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. Nope. 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. 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. Nope. 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.

  24. 5 out of 5

    Cees

    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. 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.

  25. 4 out of 5

    Carlos Martinez

    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 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-strings for string interpolation). Overall though a really useful book.

  26. 4 out of 5

    Chris

    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.

  27. 5 out of 5

    Beibei Yan

    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.

  28. 5 out of 5

    Lari Thurso

    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.

  29. 5 out of 5

    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. 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.

  30. 5 out of 5

    Crystal

    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 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

Add a review

Your email address will not be published. Required fields are marked *

Loading...
We use cookies to give you the best online experience. By using our website you agree to our use of cookies in accordance with our cookie policy.