Fundamentals-first approach introduces basic programming concepts and techniques on selections, loops, functions, before writing custom classes. Liang introduces and uses objects in Chapter 3, but defining custom classes is covered later in Chapter 7.
Problem-driven approach teaches programming in a problem-driven way that focuses on problem solving rather than syntax. Liang captures students’ interest by using interesting examples in a broad context (areas include math, science, business, financials, gaming, animation, and multimedia). Appropriate syntax and libraries are introduced in order to solve the problems.
Flexible GUI Coverage gives instructors the flexibility to skip graphics topics, or cover these topics later in the course. The book use Python’s built-in Turtle graphics module in Chapters 1-6 and Tkinter in the rest of the book. Both Turtle and Tkinter are simple, easy to learn, and valuable pedagogical tools for teaching the fundamentals of programming and object-oriented programming. GUI Examples are offered early in every chapter and a special set of GUI exercises appears at the end of every chapter.