Product Details
Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science
By John M. Zelle

List Price: $40.00
Price: $33.60 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

52 new or used available from $24.50

Average customer review:

Product Description

This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using a non-traditional language, namely Python.

Although I use Python as the language, teaching Python is not the main point of this book. Rather, Python is used to illustrate fundamental principles of design and programming that apply in any language or computing environment. In some places, I have purposely avoided certain Python features and idioms that are not generally found in other languages. There are already many good books about Python on the market; this book is intended as an introduction to computing.

Features include the following:
*Extensive use of computer graphics.
*Interesting examples.
*Readable prose.
*Flexible spiral coverage.
*Just-in-time object coverage.
*Extensive end-of-chapter problems.


Product Details

  • Amazon Sales Rank: #93065 in Books
  • Published on: 2003-12
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 517 pages

Editorial Reviews

Review
"Disguised as a Python textbook, it's really an introduction to programming, using Python as the preffered medium for beginners." -- Guido van Rossum, Creator of Python

"Introduces Python and computer science concepts in a style that beginning students find appealing and easy to understand." -- Dave Reed, Capital University

"Provides clear explanation of introductory programming concepts, and shows why Python is an excellent choice for a first language." -- Russell May, Morehead State University


Customer Reviews

Wonderful: The best CS1 textbook I've ever seen5
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.

This is where to start5
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.

From A Computer Science Student...5
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.