Python Programming: An Introduction to Computer Science
Posted by Admin on September 3rd, 2010 at 12:31am
Review
“Disguised аѕ a Python textbook, іt’s really аn introduction tο programming, using Python аѕ thе preffered medium fοr beginners.” — Guido van Rossum, Creator οf Python”Introduces Python аnd computer science concepts іn a style thаt beginning students find appealing аnd easy tο understand.” — Dave Reed, Capital University”Provides clear explanation οf introductory programming concepts, аnd shows whу Python іѕ аn ехсеllеnt сhοісе fοr a first language.” — Russell Mау, More…
Bυу Python Programming: An Introduction tο Computer Science аt Amazon
Under Webmaster

2 Comments for Python Programming: An Introduction to Computer Science
1. Haile | September 3rd, 2010 at 2:12 am
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.
2. Ruven | September 3rd, 2010 at 4:35 am
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 (www.python.org) 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.
Leave a Comment for Python Programming: An Introduction to Computer Science
Trackback this post | Subscribe to the comments via RSS Feed