Introduction to Programming Using Python is intended for use in the introduction to programming course.
Daniel Liang is known for his “fundamentals-first” approach to teaching programming concepts and techniques. “Fundamentals-first” means that students learn fundamental programming concepts like selection statements, loops, and functions, before moving into defining classes. Students learn basic logic and programming concepts before moving into object-oriented programming, and GUI programming.
Another aspect of Introduction to Programming Using Python is that in addition to the typical programming examples that feature games and some math, Liang gives an example or two early in the chapter that uses a simple graphic to engage the students. Rather than asking them to average 10 numbers together, they learn the concepts in the context of a fun example that generates something visually interesting.