For introductory courses in object-oriented programming using Python. With its straightforward syntax and more consistent semantics, Python is developing a solid following among instructors of basic programming. This text presents a balanced and flexible approach to the incorporation of object-oriented principles in introductory courses using Python, providing a solid framework for the development of computer software.* Strong fundamentals - Teaches readers how to program in a style that leads them to immediate success, while also gaining a deeper understanding that serves as the foundation for further study.* Progressive lesson plans - Build upon one another with consistency. EX. A television analogy is introduced as pure design in Ch. 1, then revisited as a tangible class implementation (Ch. 5) and as a base for inheritance (Ch. 8).* Flexible organization - Allows instructors to reorder or emphasize and deemphasize topics as needed.* Natural development of object-oriented principles - Familiarizes students with the terminology of object-oriented programming, the concept of an object's underlying state information, and its menu of available behaviors.* Cases studies with concrete applications - Draw on a wide variety of domains such as animation, puzzles, biology, and math to showcase new techniques and demonstrate the use of computer science in the real world.* Support for graphics - Includes an exclusive, easy-to-use custom graphics library that helps students grasp basic concepts, while also supporting more advanced explorations into themes such as transformations, double buffering, and event-driven programming.* Transition to Java or C++ - Lays the groundwork for students' transition to other languages later in the curriculum, most prominently Java and C++.* Advanced course material - Provides coverage of more complex topics, including recursion, data structures and algorithms, event-driven programming, and network programming.* Supportive pedagogy - Displays all source code prominently within boxes, and includes "Word of Warning" features to highlight issues that commonly trip up beginning programmers. "For the Guru" boxes present deeper understanding in context for advanced students.* Extensive end matter in each chapter - Includes a list of key points from the chapter, glossary of newly introduced terms, clearly marked Practice Problems with solutions, and extensive Exercises and Projects.