- Paperback: 432 pages
- Publisher: Franklin, Beedle & Associates; 2nd edition (May 7, 2010)
- Language: English
- ISBN-10: 1590282418
- ISBN-13: 978-1590282410
- Product Dimensions: 7 x 1.2 x 10 inches
- Shipping Weight: 2 pounds (View shipping rates and policies)
- Average Customer Review: 253 customer reviews
- Amazon Best Sellers Rank: #40,641 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Python Programming: An Introduction to Computer Science 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
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.
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.
I have two complaints - one, only a couple of times I found some coffee being used that I didn't get an explain for, and feel like I missed something but I really didn't. But the code wasn't major. Two, I wish that the legit answers to the programming exercises were available somewhere to compare my code with. This is my biggest complaint. I took a start off for that. I hope to find that the answers are available somewhere and I've overlooked them but I don't think that's the case. Come on John, get on this.
As in learning anything new, developing a working knowledge of Python requires patience and practice. I downloaded the Python programming environment (IDLE) from the Python website onto my netbook and it works well. The programming exercises at the end of each chapter are interesting, entertaining, and satisfying.
I received a Coursera certificate for the Fundamentals of Programming course (Python). This book complements and extends what I learned through Coursera. Importantly, for a novice like myself, I find that a book allows me to pace myself to ensure that I learn a concept thoroughly before advancing to the next step. Also, I'm a busy working adult that cannot dedicate time to an online class with its schedules, deadlines, and exams. Through media such as books and on-demand online sources, I plan to increase my understanding of computer science until I can successfully complete a more rigorous online curriculum.
I highly recommend this book. It's working for me.
I love this book because it teaches really great concepts of Computer Science and of Python. I am reading it as my first book and really have made some cool programs. However the catch was that I was learning Python 2 rather than the most current version. All is not lost as all I have to do is learn the differences.
However, I wish someone would've told me that there was a newer version and that would've been way better.