- 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: 5 customer reviews
- Amazon Best Sellers Rank: #1,632,346 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Object-Oriented Programming in Python 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
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.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
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.
* 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.
There is also a small problem with the graphic library, cs1graphics.py 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.