Customer Reviews


54 Reviews
5 star:
 (35)
4 star:
 (9)
3 star:
 (4)
2 star:
 (4)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favorable review
The most helpful critical review


152 of 156 people found the following review helpful
5.0 out of 5 stars Wonderful: The best CS1 textbook I've ever seen
I just wrapped up teaching a semester CS1 course using Zelle's book. I hope I never have to use another book besides this, because this text is simply fantastic.

This was the third version of CS1 I've taught, and the first using Python instead of C. The use of Python definitely contributed to the smashing success of this class (as did an exceptionally strong...
Published on December 18, 2005 by John Lasseter

versus
57 of 69 people found the following review helpful
1.0 out of 5 stars A terrible introduction book...
I just wrapped up using this book for a CS Introduction class and found it to be quite difficult to really use. The examples, while numerous, have a terrible habit of using bits of code long before the syntax or semantics for much of the code has been explained. For instance, the first chapter uses an example (a chaos example) that makes use of looping constructs before...
Published on April 12, 2009 by E. Rees


‹ Previous | 1 26 | Next ›
Most Helpful First | Newest First

152 of 156 people found the following review helpful
5.0 out of 5 stars Wonderful: The best CS1 textbook I've ever seen, December 18, 2005
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I just wrapped up teaching a semester CS1 course using Zelle's book. I hope I never have to use another book besides this, because this text is simply fantastic.

This was the third version of CS1 I've taught, and the first using Python instead of C. The use of Python definitely contributed to the smashing success of this class (as did an exceptionally strong group of students), but much of the credit must go to this book.

Honestly, Zelle just nailed it. The examples are illustrative and convincing: his is one of the few books that manages to avoid the trap of silly and unreal examples that therefore provide no context for a student. His writing is crystal clear and very well organized, replete with very helpful diagrams and illustrative examples (did I mention the examples?), and he has obviously paid a lot of attention to the aspects of programming that students find most difficult.

And the exercises: wow. This is the first time I haven't felt the need to write my own (although I did anyway, because it's fun). They are fair but challenging (sometimes very), and for those of us on the teaching end, you'll be happy to know that the instructor's resources come with _complete_ sets of working solutions to all of the exercises.

Three chapters stand out in particular. First is the chapter on graphics (Ch. 5). Students love graphics, and Zelle has included a very nice wrapper on top of the TKinter library, which makes for a GUI package that students can actually use. Second, there's the final chapter that actually introduces recursion and some of the interesting algorithms from the science (searching/sorting, permutations, etc.). I had a lot of fun demonstrating the difference between sorting /usr/share/dict/words with insertion sort (about 6 days) and merge sort (about 6 seconds).

But possibly the best chapter is one I almost skipped: the chapter on software development, which is centered around a case study development of a "racquetball" simulation. At the last minute, I decided to use this chapter as the jumping off point for integrating the ideas we'd seen up to mid-term into real software development. I am convinced that this made the class.

Now there are a couple of things you might want to add as an instructor: The main one is the fact that Python is such a high-level language, with so much hand-holding built in, that I'm worried that students going on to later CS classes in other languages could get a nasty surprise. I finished up my class with a primer on languages with static type systems, in which you don't have wonderful Pythony things like string/list slicing, built-in hashtables, etc. In a second edition of this book, I'd like to see another chapter on this.

Second is a very small quibble, and really just boils down to a difference with Zelle about the order in which I like to teach this material. I ended up using every chapter in the book, but in the order 2,3,4,7,8,6,9,11,5,10,12,13. As yet another thing I love about this book, the chapters are independent enough from each other, that I was able to do this with only careful selection of the sections. Actually the book lends itself very well to alternative orderings.

In short, I simply have nothing bad to say about this book, and lots of good. Zelle hit this one out of the park. Everybody should be using it.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


26 of 26 people found the following review helpful
5.0 out of 5 stars From A Computer Science Student..., January 24, 2005
By 
J. Murray (Bemidji, Minnesota) - See all my reviews
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I absolutely love this book. I've browsed through many computer programming/computer science books before this one, and found this one the best introductory book by far for many reasons. For one, the book moves at a quick yet manageable pace, so I felt like I able to move quickly enough not to get bored yet still absorb the material. Honestly, and I'd never thought I'd say this about a textbook for a class, but I found this to be a page-turner!

There is a convienient Quick Reference serving as an Appendix. It quickly lists the operators, functions, techniques, etc, presented i each chapter, so I didn't need to dig back through the chapters when a concept for function name slipped my mind.

MOST importantly for me are the exercises at the end of each chapter. Sure, most books have sample-code, too, but this book gives you a fair number of problems to solve using the tools you have just learned.

So, if you are new to computer science and interested in learning to program in any language, I'd STRONGLY recommend this book. It's a great introduction to Python, but it's also a GREAT introduction to computer programming concepts.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


34 of 37 people found the following review helpful
5.0 out of 5 stars This is where to start, August 21, 2004
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
For those of you who don't know how to program, this book is the best starting place I've ever read. It's written as an introduction to computer science, by professional educators for a CS1 course.

This book defines all the terms and parts to programming that other "Learn Python" books seem to assume you already know. If reading the tutor section of the Python documentation that came with the language ([...]) was not completely clear to you, this is the best book to get you ready to program.

There are plenty of example programs to keep this book interesting to intermediate programmers, but there is doubtfully anything surprising to experienced programmers. Everything in this book is very clearly explained and organized.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


57 of 69 people found the following review helpful
1.0 out of 5 stars A terrible introduction book..., April 12, 2009
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I just wrapped up using this book for a CS Introduction class and found it to be quite difficult to really use. The examples, while numerous, have a terrible habit of using bits of code long before the syntax or semantics for much of the code has been explained. For instance, the first chapter uses an example (a chaos example) that makes use of looping constructs before looping constructs are ever discussed. And that's just in the first chapter. The book constantly makes references (either through code or sometimes in the text) to ideas that will not be taught to the student until 3 or more chapters down the line.

The book also contains various errors in python semantics. At times it almost feels as if the writers did not read the python standards and semantics very closely. The earliest example of this occurs in Chapter 3 while discussing basic integer division. In this chapter the book states that Python will truncate the result of an integer division (thus 4 / 3 results in 1, and -4 / 3 would result in -1). However Python does not use truncation division, instead it uses flooring division as clearly defined in the Python standard. As such all positive integer divisions will continue to look like truncation division is occurring, however -4 / 3 is -2, not -1 as the book suggests. This is only one of a handful of errors that simply should not be, and despite my emails to both the author and the publisher they simply will not release an errata - despite the fact the books terribly needs one.

My last problem with the book lies in it's ordering. The book is laid out in very poor order for teaching Python. For instance if you follow the book in order the student will learn:
1) The basics of computer science (what a program is, what a computer is, what each section of a computer do, ect...)
2) Variables and variable names (identifiers)
3) Output statements (only to the screen)
4) Assigning literals and variables to a variable.
5) Writing definite looping constructs (For loop)
6) Numeric data types in Python.
7) Creating and using basic mathematical calculations in Python
8) Converting data into int/long/float form.
9) Using strings
...

I point this out because getting students to understand a concept like for loops in chapter 2 before you even teach them how to do addition and subtraction (chapter 3) is a major pitfall. The real problem with skipping definite loops is that the book constantly uses the for loop in examples after chapter 2. So if you teach for loops early on then you have a high percentage of students getting confused early on but at least people will kind of understand the examples later on. Or you can skip it which makes most of the examples after chapter 2 worthless to students until you do cover definite loops. Please keep in mind that the indefinite (while) loop is not taught until chapter 8.

Overall this book has been a hindrance more than a help. Many of the students in my course purchased or borrowed other Python books to help them study at home as they claimed this book was simply too hard to follow and lacked any real explanation to the example solutions. When students began informing me (without my asking them to critique the book) that they disliked the book very much and that many of them had begun buying/borrowing other python books to use instead, I decided I would definitely never use this book again.

This books seems to have forgotten it's an introduction book. Students using this book who have had either another computer science course or who learned a procedural type language in the past (even if they didn't learn much beyond simple data types) would probably find this book to be well worth their time. The book is well written if you already have a rough understanding of the common semantics used in many procedural and OOP languages. However, few books discussing python syntax/semantics wouldn't be a relatively easy read for any programmer already familiar with the common semantics of OOP or procedural code.

Beginners should stay away from this book.
People with some experience should look into a python reference book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


21 of 24 people found the following review helpful
2.0 out of 5 stars NOT for complete beginners, November 11, 2009
By 
Matt E. (New York, NY) - See all my reviews
Verified Purchase(What's this?)
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I purchased this book based mainly on the high number of 5 star reviews. I have, however, been very dissapointed. Although I learned some programming many years ago, I am more or less starting my programming career anew. I should note that I purchased this book for self-study rather than as a course book.

I found this book difficult to follow right from the introduction. On page 12 the author introduces the concept of 'chaos'. I found this to be a rather strange concept for an introduction (he never explains what 'chaos' represents or why it is usefull at this point in the book). The author immediately uses programming concepts such as for loops without any explanation of loops. Again, how is this usefull for a total beginner?

The second chapter on 'writing simple programs' is somewhat better but still moves very quickly without adequate explanation. Chapter 3 on 'computing with numbers' tend to be over-complex in my opinion and I found the exercises to be nearly impossible to do with the topics presented to that point.

In summary: This book is going to be difficult to use if you are interested in self-study and you have little to no programming experience. The topic examples tend to be dry and difficult to follow, and with no explanations to any exercises, even harder to guage how you are doing. This book, in my opinion, requires an instructor to present topics clearly. However, please read the 1 Star review to hear about that teacher's opinion of this book for use in the classroom.

I have since purchased Michael Dawson's book 'Python programming for the absolute beginner' and have found it much much better for self-study.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 14 people found the following review helpful
5.0 out of 5 stars Absolutely the best book for learning Python, October 19, 2005
Verified Purchase(What's this?)
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I have several Python programming books and scores of printed out online tutorials and documentation. This one is the best of the bunch (with the Absolute Beginner title coming in 2nd) because it explains everything a beginning programmer needs to know and has enough exercises and challenges to make it interesting. A lot of the other titles jump right in and seem kind of haphazard in their approach. This one builds topic upon topic, using what was learned previously to help tackle the next area. An excellent book!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 9 people found the following review helpful
5.0 out of 5 stars Update to a classic, June 9, 2010
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I teach high school computer science and greatly welcomed the new edition to this classic book. Zelle has written a book that manages to serve two purposes quite well: 1) a good introduction to computer science, and 2) a good introduction to Python.

Sure, you could say that it could be better in one way or another, but any changes would push it more towards one of those purposes, and not really serve the other. As it stands, I believe this is the best book available for a high school computer science class. Zelle teaches good programming and encourages students to learn a "software development process" that will serve students well as they further explore programming and computer science. The clarity of Python ("pseudocode that runs") allows Zelle to focus on a strong programming foundation that will allow students to move on to other languages, including Java--the current language for the AP Computer Science exam.

Zelle has updated his graphics library for this edition, and this book covers Python 3.x. His graphics library is a great supplement to any class teaching Python to beginning programmers, and there is a nice reference to it in this text. The library module is, as always, released under an open source license (GPL).

Highly recommended.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 14 people found the following review helpful
5.0 out of 5 stars A welcome relief, September 25, 2005
By 
Daniel Crowder (Clarkston, WA USA) - See all my reviews
(REAL NAME)   
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
I have read plenty of programming books even before comming into college. However, I haven't read one book like this. It truely is a beginner's guide not only to programming but to computer science in general. Python is a great language to start with. That was always my question, "What language do I start with?". Whether picking up programming as a hobby or starting a career I would highly recommend this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 12 people found the following review helpful
4.0 out of 5 stars Great intro to programing, but not computer science, November 21, 2009
Verified Purchase(What's this?)
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
This is a great intro book for those looking for a gentle introduction to programing. That said it claims to be an introduction to computer science, which it is not. It offers almost no coverage of theoretical computing issues that are the hallmark of the classic intro CS books.

In someways the distinction between intro CS and programing is unfair; however, it does track with the reality of freshman intro CS at all the universities I've known. Students in intro CS already know how to program. They may not know about von Neumann or Turning, their code is ugly, and they've never seen assembly, but they can program. It's because they can program that they are ready for an introduction to computer science.

This book is great for getting to the level of the average, even beyond the average, student in intro college CS. It, unlike intro CS (despite claims to the contrary), starts assuming nothing and builds forward in a logical way to teach readers how to make a computer do something. I would recommend this book for a programing class for non-majors, a high school class, adult education, intro to programing self study etc.

In the same way that this is not a real introduction to computer science it is not an introduction to Python. There are many books that would be vastly superior introductions to the Python language for those who are already competent programmers.

The real genius here is taking a well organized approach to introducing programing using a great language. This allows readers to get starting writing interesting programs quickly and doing so without learning horrible habits or without regard for the fundamentals of computer science. This in turn builds the enthusiasm it takes to survive the jump from programming to CS. In short, I wish that every student in CS101 had used this book for a class in high school, but I'd never use this book for CS101.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 12 people found the following review helpful
5.0 out of 5 stars excellent for the beginner, January 19, 2005
This review is from: Python Programming: An Introduction to Computer Science (Paperback)
No, really, people mean it with this one, and so do I. After trying several books promising to be good for "beginning programmers" wishing to pick up Python, I've finally managed to find one that met my needs in this one. Zelle manages to go over basic concepts of how one should view work in a well-structured, high-level language. I'm not 100% new to programming, but then I haven't really done much since banging out some things in assorted BASICs between 1988 and 1991, either. Zelle offers up just enough Python-specific information to get you moving and then uses many examples of both meta-language programs and Python code to illustrate key concepts in problem solving and basic program design. Surely this is scratching the surface for some, but it seems as though it's a useful resource for noobs such as myself.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 26 | Next ›
Most Helpful First | Newest First

Details

Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science by John M. Zelle (Paperback - Dec. 2003)
$40.00 $32.34
In Stock
Add to cart Add to wishlist
Search these reviews only
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.