Introduction to Programming Using Python

Prentice Hall
Y. Daniel Liang  
Total pages
January 2012
Related Titles

Product detail

Product Price CHF Available  
Introduction to Programming Using Python
145.50 approx. 7-9 days

Free evaluation copy for lecturers


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.
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.

MyProgrammingLab, Pearson's online homework and assessment tool, is available with this edition. Subscriptions to MyProgrammingLab are available to purchase online or packaged with your textbook (unique ISBN).

View an online book walk-through.



  • 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.
  • Based on Python 3.
  • Student Resource Website contains the following resources:
    • Answers to review questions
    • Solutions to even-numbered programming exercises
    • Source code for the examples in the book
    • Interactive Self-Test (organized by sections for each chapter)
    • Supplements on using Python IDEs, advanced topics, etc.
    • Resource links
    • Errata
  • Instructor Resource Website, accessible from, contains:
    • Microsoft PowerPoint slides with interactive buttons to view full-color, syntax-highlighted source code and to run programs without leaving the slides.
    • Solutions to all the review questions and exercises. Students have access to the solutions of even-numbered programming exercises.
    • Web-based quiz generator. Instructors can choose chapters to generate quizzes from a database of more than 800 questions.
    • Sample exams. In general, each exam has four parts:
      • Multiple-choice questions or short-answer questions
      • Correct programming errors
      • Trace programs
      • Write programs
      • Projects. In general, each project gives a description and asks students to analyze, design, and implement the project.
  • MyProgrammingLab, Pearson's new online homework and assessment tool, is available with this edition. Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
    • A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable them to figure out what went wrong-and why. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
    • Access to step-by-step VideoNote tutorials and an interactive eText is included with the purchase of MyProgrammingLab. Subscriptions to MyProgrammingLab are available to purchase online or packaged with your textbook (unique ISBN). Contact your Pearson representative, or visit www.myprogramminglab for further information.

View an online book walk-through.


Table of Contents

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


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.


Instructor Resources