Anurag Rana          Projects     Contact Me     Blog    
Top (max 10) reviews: Python Programming: An Introduction to Computer Science, 3rd Ed..

4.5 out of 5.0    252 total reviews.

Buy This Book
All Books
5.0 out of 5.0 -

by Ryan McNamara on May 15, 2014

I'm really only a few chapters in so far, but I felt the need to express my unanswered frustrations and how this book answered them.
I've always wanted to learn computer programming since I was a kid, back in the days when computers were the scary things they had in school libraries that adults were scared of getting too close to. I even bought a book on C when I was young enough to only require one digit in my age, and I didn't even own a computer and probably had only used one a few dozen times. I have throughout my life bought, attempted to learn, and failed miserably at learning programming many times. Each time I get terribly stuck and confused. I curse the writers of these books who advertise "programming for the absolute beginner" who I seem so disconnected to. I figured it was me, that maybe I wasn't smart enough, or that for some reason I just could never learn how to do cool stuff with a computer. In my most recent spate I bought another book on computer programming - also on Python. While I did learn to do some stuff, there was still this weird disconnect.
But this book is different and now I finally realize what I had been struggling with: the author *actually explains* what each programming concept does. This sounds silly - of course all programming books do that! But you'd be wrong. Apparently understanding what something like "for i in range(10):" does and what each part is for and called is in the realm of 'computer science.' It sounds stupid, but it took me a while in my first couple of attempts at learning programming in the early days, to realize (because no one actually said it), that a computer program is executed from top to bottom, left to right. A program is more like a player piano. So in the first couple of chapters I was delighted that the author actually says that.
So I guess the difference between this book and all the others I've read is that even if the other books say it's for someone who has never programmed before, they make a lot of assumptions about what you know and what you should have figured out from the context. But this book actually explains each concept as it comes up. In fact, this book is more explanation than code. Which is good because when you're starting out you're full of funny concepts about how programming might work. You don't necessarily understand that when you write "x = 2 + y" and then later change the value of y, that won't actually change the value of x. And the reason you don't know that is because the author didn't bother explaining to you exactly how variables work in Python.
So for learning Python, this is a great resource and exactly what I needed after two decades of on-and-off spates or trying to learn programming. As for learning Computer Science? I guess I don't know a lot about it, but I don't think this would be a great resource. This book doesn't look like it explains binary code to you, or how transistors work, haw NAND and OR circuits work, or any of those sorts of things. There is some of that - it briefly explains the difference between hardware and software, CPU, RAM, etc. But really it's fairly superficial coverage. So the book really should be called Python Programming: A Concept-Based Approach. If I took a class called "an introduction to programming" I would be extremely happy if they assigned this book, but if the class was called "an introduction to computer science" I'd feel as if the class was misrepresented.
Also, I'd also say don't buy this book if you already have a good grounding in some other computer programming language. I think one of those many other books that I struggled with would be a much better fit for you. You won't be lost in poorly defined terminology or zip past what a thing does and focus mostly just on how Python does it. This book will spend way too much time explaining those things you've already figured out by now. If know C++ or Java or whatever, you probably already know the difference between a float and an integer and at the most just need a refresher.
Anyway, I didn't see any other reviews mention these points and I really am glad I found this book. So hopefully you guys will understand better what this book is really all about, which the description does a poor job of doing, in my opinion.

5.0 out of 5.0 -

by Wyzard on Jan. 25, 2018

This is the second quarter I've used this book as the textbook for an introduction to programming college course.
It works rather well as a medium to ease non-programmers into the art. A great deal of important vocabulary is weaved into the material. And the graphics module appears to motivate students to push the boundaries and create little GUI apps.
The code works with Python3, and I've had no issues supporting Windows 10, Mac OS, and Ubuntu.

5.0 out of 5.0 -

by Sir Sleeps-a-lot on May 6, 2017

This book does a great job explaining the python language. Also, it is well organized so when you are coding it is easy to reference.

5.0 out of 5.0 -

by AMIT TRIVEDI on May 12, 2014

I agree with other reviewers who have rated it positively. My feedback is similar. I will just add that I started learning Python on Code Academy and now I am starting to use this book. The book does have a bit more topics than I picked up on Code Academy. Even though the book is a great beginner's book, having learnt Python on Code Academy I am able to move through the book faster than I had expected. Only way to learn any knowledge that is acquired is to build something with it and making it a daily ritual. Happy Python'ing!

5.0 out of 5.0 -

by Linda T. on Sept. 4, 2017

Of the four new Python books I recently bought, this seems the best.

5.0 out of 5.0 -

by Anna R. on Jan. 16, 2018

This book makes learning to program in Python easy through project-based learning along with a bit of theory. I found this to be exceptionally thorough.

5.0 out of 5.0 -

by Bryan on Aug. 24, 2017

This is the most informative book on python that I have ever purchased. It way surpassed my expectations. It you are learning Python. This is a must have!

4.0 out of 5.0 -

by Amazon Customer on June 2, 2014

This is the first I've dove into scripting/programming since my school days. I think the author does a good job covering core concepts I would recommend the book to those just starting in programming.
The true value (like all things) is to actually run through the hands on exercises. I haven't gone through all of them yet but since I've started thinks have started to click much more.

5.0 out of 5.0 -

by Melanie on Jan. 3, 2018

This is the first college text book I actually want to keep! It is incredibly simple and explanatory and I recommend it to anyone who is looking to learn Python.