Python Programming: An Introduction to Computer Science 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
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.
Frequently bought together
- Publisher : Franklin, Beedle & Associates; 2nd edition (May 7, 2010)
- Language : English
- Paperback : 432 pages
- ISBN-10 : 1590282418
- ISBN-13 : 978-1590282410
- Reading age : 14 years and up
- Grade level : 9 - 12
- Item Weight : 2 pounds
- Dimensions : 7 x 1.2 x 10 inches
- Best Sellers Rank: #454,547 in Books (See Top 100 in Books)
- Customer Reviews:
Top reviews from the United States
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.
Unfortunately, it only includes a subset of what is needed to actually do the exercises. I believe many people who are reviewing it either had substantial programming background or never actually tried to do the exercises included in the book.
For example, in the chapter that introduced "if", you actually needed to understand how to parse dates, add days to dates, and understand how to use a basic draw program to create animated bouncing shapes.
Now, these may be cute programs, but they have nothing to do with teaching beginning students how if statements work. Instead, it's a great way to convince students that they are not good at programming.
i.e. x=eval(input("type something")) you no longer need the eval like it says in the book. It was rather frustrating at the beginning because a noob like me didn't understand why nothing was working but, google is there to answer all your questions :)
John Zelle introduces you to computer science concepts while keeping it in the context of programming. It is a very text heavy book but in no way is the author verbose. He succinctly explains concepts or describes the inner workings of the provided code without getting bogged down in theory. The programs are interesting and provide a window into the practical application of the Python language. You won't be writing loops just for the sake of writing loops. The author took great care to ensure that the example topics were relatable to the real world. Programming exercises are provided at the end of each chapter and vary in complexity so you can always feel some confidence that you learned something after completing a few of the exercises. Even the exercises that I feel I couldn't even attempt at least were thought-provoking.
I highly recommend this book. Not once did I feel frustrated or have to research on the internet myself to figure out what the author was trying to explain. This book is a wonderful resource for the burgeoning programmer.
Top reviews from other countries
The early chapters cover the fundamentals of programming in a comprehensive manner and will be enough to get most people started. The later chapters then go on to cover the more esoteric aspects of the language (graphics, data transfer, etc.).
I initially got into the language via tutorials on the internet, but there's really no substitute for having a good reference work - with examples - to hand.
This book uses well written text and clear, concise examples that follow between chapters (modifying them as you learn more). The questions and problems at the end of each chapter are extremely well-written and attempting them is the key to actually learning what you've just read. The lack of an 'answers' section at the back is, in my opinion, the best thing about it. Especially if you are learning on your own from home.
Also functions as a reference book thanks to the clear and detailed contents/index pages.