Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $152.40
  • Save: $106.74(70%)
Rented from RentU
To Rent, select Shipping State from options above
Due Date: May 28, 2015
FREE return shipping at the end of the semester. Access codes and supplements are not guaranteed with rentals.
Sell yours for a Gift Card
We'll buy it for $38.06
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Object-Oriented Programming in Python Paperback – November 8, 2007

ISBN-13: 978-0136150312 ISBN-10: 0136150314 Edition: 1st

Price: $45.65 - $45.66
11 New from $114.97 20 Used from $91.57
Rent from Amazon Price New from Used from
"Please retry"
$114.97 $91.57
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 688 pages
  • Publisher: Prentice Hall; 1 edition (November 8, 2007)
  • Language: English
  • ISBN-10: 0136150314
  • ISBN-13: 978-0136150312
  • Product Dimensions: 7 x 1.5 x 9 inches
  • Shipping Weight: 2 pounds
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #1,194,690 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

Object-Oriented Programming in PYTHON




Python's simple syntax, consistent semantics, and wide popularity make it an exceptionally attractive instructional language for new programmers. This text embraces Python's object-oriented nature, presenting a balanced and flexible approach to mastering object-oriented principles, and building a solid framework for advanced programming in Python and other languages.


Drawing on their highly successful CS1 course at Saint Louis University, the authors begin with core concepts every programmer must master, including data types, objects, control structures, I/O, user-defined classes, inheritance, and good software development practices. Next, students gain far deeper mastery, learning crucial techniques ranging from recursion to data structures. The authors conclude by introducing event-driven and network programming - two "advanced" topics that become surprisingly approachable with Python.

  • Strong fundamentals coverage: Helps readers achieve immediate success, while building a strong foundation for further study
  • Flexible organization: Enables instructors to reorder, emphasize, or deemphasize topics as needed
  • Provides early "object awareness" and helps students master key object-oriented principles naturally and gradually
  • Presents real-world case studies from domains such as animation, biology, physics, and the Internet
  • Includes an exclusive, simple graphics library that helps students grasp basic concepts and explore more advanced topics such as transformations and layers
  • Contains a convenient guide for transitioning from Python to Java™ or C++

About the Authors


Dr. Michael H. Goldwasser is Associate Professor and Dr. David Letscher is Assistant Professor at Saint Louis University. Dr. Goldwasser was previously on the Faculty at Loyola University Chicago where he was Undergraduate Program Director for Computer Science. He has also taught courses at Colorado College, Princeton University, and Stanford University. He holds a Ph.D. in Computer Science from Stanford University. Dr. Letscher served as Assistant Professor at Oklahoma State University, Visting Researcher at American Institute of Mathematics, Assistant Professor at University of California, San Diego, and Visiting Research Fellow at the University of Melbourne. He holds a Ph.D. in Mathematics from the University of Michigan.

About the Author

Drs. Goldwasser and Letscher are on the Faculty in the Department of Mathematics and Computer Science at Saint Louis University.  Both are active in teaching the introductory computer science course for which this book was designed.  They have described the development of this material at the premier national and international conferences on Computer Science education. Dr. Goldwasser received his Ph.D. in Computer Science at Stanford University in 1997, and has taught courses at Stanford University, Princeton University, Loyola University of Chicago, and Colorado College before joining Saint Louis University. His research interests center around the design and analysis of algorithms. Dr. Letscher received his Ph.D. in Mathematics from the University of Michigan in 1997, and has taught courses in mathematics and computer science at the University of California San Diego, Oklahoma State University, and the American Institute of Mathematics before joining Saint Louis University. His primary research interests center around computational topology.

Important Information

Example Ingredients

Example Directions

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

3.8 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 5 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

10 of 10 people found the following review helpful By Marc venDrake on December 6, 2009
Format: Paperback
This book was OK as a primer on python. However, I turned to the web more and more as our class progressed through this book. I'd say that 60% of what I now know about python I learned from online sources. This book gave me the problems, but not a good instruction on how to solve those problems. Most of the students in my class have echoed these sentiments. I wound up purchasing an O'Reilly book on python to supplement this text.

Some issues:
* While there are many finished classes documented in the book, the actual use of those classes is dramatically missing.
* The index is user hostile. For example, looking up "child class" says "see class, child" instead of just providing the relevant pages.
* The text is far more about how to write python than about OO techniques. Pages are spent on how to write sort and search routines in python, but very little is spent on how to design solutions from an OO perspective.
* UML diagrams are used, but not well discussed.

If you really just want to learn OO and are starting from scratch, you might want to investigate Alice as a teaching language. If you really want to learn Python, then you may want another textbook.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By David MacQuigg on April 8, 2012
Format: Paperback
This text would be my choice in an introductory course for students who need an in-depth understanding of programming principles, including students in computer science, engineering, and the physical sciences. It is more thorough than Zelle's "Python Programming: An Introduction to Computer Science", yet doesn't get bogged down in details only needed by professional programmers. For example, in the discussion of argument passing, Goldwasser carefully avoids the controversy over what to call the process, and focuses on what is important for the student to know about "call by reference" and "call by value". The one page devoted to this topic is the best I have read anywhere. The writing style is excellent, well-organized, thorough but not tedious.

As an example of avoiding unnecessary detail, UML diagrams are used where they add clarity to a discussion, but these are simple, self-explanatory diagrams. As an engineer, not a programmer, having taken a course using Blaha, "Object-Oriented Modeling and Design with UML", I think Goldwasser has drawn the line just right between simple-and-very-useful vs complex.

I like the Appendix on the transition to Java and C++. This is the way a curriculum should be organized. Teach the science first, using a language so simple it doesn't get in the way of learning fundamentals, then move on to the "industrial" languages and focus entirely on syntax, elaborate tools, and all the extras needed by professional programmers.

My biggest criticism is the chapter on Good Software Practices. I would emphasize Test Driven Design, and make much better use of Python's doctest capability. Have the students write simple doctests inside every function, before they even write the code to implement the function. To build good habits, do this from day one, not in a later chapter on unit testing. Doctests helps define what a function does, and usually lead to correct code more quickly.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 11 people found the following review helpful By Rednarb on February 12, 2011
Format: Paperback Verified Purchase
Im so glad i ordered through amazon! Im a broke college student and i saved $50 on one book. I was very satisfied!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 18 people found the following review helpful By Vinh Khanh Le on December 21, 2007
Format: Paperback
There are only some problems have the answer (less than 5% of the total). This was not a problem because David Letscher, one of the author, was my professor, since he rarely used problem from the book for the tests and the final.

There is also a small problem with the graphic library, which people need to use for some covered topics, is not completed.

However, Of all learning Python books I've read, this book is the best. It covers basic to advanced topics in a very well-organized way with clear explanations.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 14 people found the following review helpful By mparker on September 15, 2010
Format: Paperback Verified Purchase
Although it was in fact the write product, it was not nearly in the condition I expected for it being in "good" condition. The book has about 35-40 pages being held in by a paperclip over 25 more just barely hanging on. I am very disappointed in the condition I have received the book in, and will probably not be using this vendor in the future.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?