Rating:

(47 reviews)
Author: Visit Amazon's John M. Zelle Page
ISBN : 1887902996
New from $35.82
Format: PDF, EPUB
Download Free Python Programming: An Introduction to Computer Science Paperback from 4shared, mediafire, hotfile, and mirror link
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 UniversityBooks with free ebook downloads available Free Python Programming: An Introduction to Computer Science Paperback
- Paperback: 517 pages
- Publisher: Franklin Beedle & Associates (December 2003)
- Language: English
- ISBN-10: 1887902996
- ISBN-13: 978-1887902991
- Product Dimensions: 1 x 6.9 x 9.1 inches
- Shipping Weight: 2 pounds (View shipping rates and policies)
Free Python Programming: An Introduction to Computer Science
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 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.
Download Link 1 -
Download Link 2