This third edition of John Zelle’s Python Programming continues the tradition of updating the text to reflect new technologies while maintaining a time-tested approach to teaching introductory computer science. An important change to this edition is the removal of most uses of eval and the addition of a discussion of its dangers. In our increasingly connected world, it’s never too early to begin considering computer security issues. This edition also uses several new graphics examples, developed throughout chapters 4-12. [IMPORTANT NOTICE TO PURCHASERS: Any Kindle edition of this book is an illegal reproduction and is unauthorized by the author and the publisher.]
Original price was: $59.99.$19.99Current price is: $19.99.
Original price was: $49.99.$19.99Current price is: $19.99.
Original price was: $49.99.$19.99Current price is: $19.99.
Original price was: $59.99.$19.99Current price is: $19.99.
Original price was: $59.99.$19.99Current price is: $19.99.
Total: $19.99
I see Python as being very much "in my face," a language I should pick up just to keep up. Whether our department switches to Python at a later date or not is moot; Python seems to be the new lingua franca for the CS community, so I felt I had better at least acquire a journeyman's knowledge.
I am now going through this opus by Dr. Zelle and cannot praise it enough. His prose is simple and elegant, and his semantic modeling (if I can use such a term) is superb.
I love the way he describes variables, for example. He equates them to Post It notes. No need to get arcane and go into a long exposition on garbage collection. Dr. Zell infers that a new assignment into the same variable equates to a more up-to-date Post It note in the computer's memory. Assign a different value into a named variable using its value and you have a new, updated Post It note. Easy peasy. And...
no need to jump through that hoop of using an extra "temp" variable to exchange the values of x and y when we put this model to use. "x, y = y, x" will suffice, thank you.
I was skeptical about his discussing graphics iso early (Chapter 4, for heavens, sake?). His example where he showed an investment value histogram had me thinking, "Students are going to have to deal with this?" Simple, yes, but the need to jump through hoops with some accurate expression to match the semantics implied by the heights of bars on a two-d surface? Uh..uh. No thanks.
Then I read on... Just apply the setCoords and voila, we do away with most, if not all, of the computational, albeit doable, complexity.
I liked to be awed by brilliance, and in one simple example (and rewrite of the original problem), I became simultaneously awed both by his brilliance and by Guido von Rossum's brilliance with his invention of the setCoords function to simplify graphic applications. Easy peasey again!
I have yet to read through the rest of the book (and to sit down at the computer, doing my share of hacking and error-making that's the lot of anybody who wants to achieve serious journeymanship in a given language), but I know it will be a summer well spent.
Whether or not my institute of learning switches to Python or not has become a moot issue for me. If we do switch, Zelle's our man. Cyber applause to him for this remarkable work he has done!
It actually gave me the confidence to pursue my CS degree in my freshman year as I was uncertain if I'd be able to understand the subject or not. This book gave me a sold foundation that I was able to build on.
That being said, this is an excellent textbook for someone who has to program a computer in support of a career in another field -- for example, mathematics, the physical and biological sciences, the social sciences, business, the arts, etc.
The author takes the student on a gentle journey thru the basic skills of instructing a computer using the Python language, itself a gentle language that avoids the arcana and seemingly obtuseness of most other computer languages. Few, if any, of my students have the time or patience for the rigor of other aspects of CS, but they come away with an appreciation that computers are no more magical than any other tool.
By the end of my seven-week course, students will have calculated and graphed a cosine function from first principles. They will have counted the words in "Moby Dick" and will have listed them alphabetically, with their frequencies of occurrence. They will have drawn a game of Pong, showing balls bouncing around a Pong board, and they will have plotted real estate data on a regional map, based on latitude, longitude, and price.
Most importantly, they will have enough if an appreciation for computer programming that they will not be "snowed" or intimidated by programmers when they enter their own professional careers. For someone in a similar situation, I highly recommend this book and the Python language that it teaches.
A professor with a Ph. D. in Computer Science at a well-known technological university.
Shawn Berry
President, AppliedMathematician.com