Introduction to Programming with Python 3 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 with Python 3is 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.
Dr. Liang earned his Ph.D. in Computer Science from the University of Okalahoma in 1991, and an MS and BS in Computer Science from Fudan University in Shanghai, China, in 1986 and 1983. Prior to joining Armstrong, he was an associate professor in computer science at Purdue University in Fort Wayne, where he twice received the Excellence in Research award.
Dr. Liang was trained in theoretical computer science. He was active in graph algorithms from 1990 to 1995 and published more than ten papers in several established journals such as SIAM Journal on Computing, Discrete Applied Mathematics, Acta Informatics, and Information Processing Letters. Since 1996, he has devoted to writing texts and published more than thirty books with Prentice Hall. His popular computer science texts are widely adopted in the world.
Dr. Liang was elected a Java Champion in 2005 by Sun Microsystems. He has given lectures on Java internationally.
Chapter 1 Introduction to Computers, Programs, and Python
Chapter 2 Elementary Programming
Chapter 3 Introduction to Functions, Strings, and Objects
Chapter 4 Selections
Chapter 5 Loops
Chapter 6 Functions
Chapter 7 Object-Oriented Programming
Chapter 8 Thinking in Objects
Chapter 9 GUI Programming Using Tkinter
Chapter 10 Lists
Chapter 11 Multi-dimensional Lists
Chapter 12 Inheritance and Polymorphism
Chapter 13 Files and Exception Handling
Chapter 14 Tuples, Sets, and Dictionaries
Chapter 15 Recursion
Chapters 16-23 are bonus Web chapters on DS
Chapter 16 Developing Efficient Algorithms
Chapter 17 Sorting
Chapter 18 Linked Lists, Stacks, Queues, and Priority Queues
Chapter 19 Binary Search Trees
Chapter 20 AVL Trees
Chapter 21 Hashing
Chapter 22 Graphs and Applications
Chapter 23 Weighted Graphs and Applications
Appendix A Python Keywords
Appendix B The ASCII Character Set
Appendix C Number Systems