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.
Using the graphics examples is optional in this textbook. Turtle graphics can be used in Chapters 1-5 to introduce the fundamentals of programming and Tkinter can be used for developing comprehensive graphical user interfaces and for learning object-oriented programming.