Introduction to Python Programming and Data Structures, 3rd edition
Published by Pearson (June 15, 2022) © 2023
- Y Daniel Liang Georgia Southern University
eTextbook
- Anytime, anywhere learning with the Pearson+ app
- Easy-to-use search, navigation and notebook
- Simpler studying with flashcards
Revel
- Inspire engagement through active learning
- Provide an immersive reading experience
- Assess student progress with performance insights
For introductory courses in Python programming and data structures.
A fundamentals-first approach to programming helps students create efficient, elegant code
Introduction to Python Programming and Data Structures focuses on the fundamentals first to help beginning students learn problem solving and programming in a broad context. It introduces basic programming concepts and techniques on selections, loops and functions, before writing custom classes. Problems and exercises with varying levels of difficulty cover interesting application areas to engage and motivate students.
The 3rd Edition has new data structures topics and up-to-date content, examples and exercises that keep pace with recent trends.
Hallmark features of this title
- A problem-driven, fundamentals-first approach focuses on problem solving rather than syntax.
- The step-by-step presentation starts at the beginning, teaching basic concepts and techniques before writing custom classes. Topics flow from fundamentals to object-oriented programming, from simple functions to STL, and from simple data types to classic structures.
- Programming exercises are grouped by level of difficulty to give students many opportunities to practice and apply their skills.
- Engaging examples and problems provide interesting context for learning concepts. Examples are drawn from math, science, business, finance, gaming, animation and multimedia to make the material more relatable.
- Flexible chapter ordering allows instructors to skip or cover graphics later.
New and updated features of this title
- UPDATED: Examples and exercises keep pace with recent programming trends to motivate students' interest. Additional exercises are provided for instructors to use in class or to assign.
- UPDATED: Section 1.2  includes cloud storage and touchscreens.
- NEW: Section 3.14 introduces the new Python 10 match-case statements to simplify coding for multiple cases. F-strings are covered in Chapter 4 to provide a concise syntax to format strings for output.
- UPDATED: Statistic functions are covered in Chapter 7 to enable students to write simple code for common statistic tasks.
- UPDATED: Additional data structures coverage discusses string matching in Chapter 16, graph algorithms in Chapter 22, and optional materials for a data structures course in Chapter 23.
- NEW: Appendices G and H. G gives a precise mathematical definition for the Big-O notation as well as the Big-Omega and Big-Theta notations. H lists Python operators and their precedence order.
Features of Revel for the 3rd Edition
- Assignable and automatically graded programing exercises let students experience the power of practice and get immediate personalized feedback based on their responses. End-of-section quizzes and end-of-chapter projects let you gauge their comprehension frequently to address learning gaps.
- VideoNotes show how to solve problems completely in narrated step-by-step tutorials.
- Live code examples let students practice in a live coding environment by modifying populated code and viewing the results.
- Code animations step students through the code line-by-line, showing what happens in the program.
- Checkpoint self-assessments test students' knowledge with multiple-choice and matching questions at the end of each section.
- NEW: Video quizzes let students further their knowledge and test their understanding. You can share videos accompanied by time-stamped multiple-choice questions.
- NEW: Shared multimedia assignments make it easy for you and your students to post and respond to videos and media. Students can record and upload presentations for grading, comments or peer review.
- UPDATED: Create your own scored assessment items to add to existing end-of-section and end-of-chapter quiz sets.
- Introduction to Computers, Programs, and Python
- Elementary Programming
- Selections
- Mathematical Functions, Strings, and Objects
- Loops
- Functions
- Lists
- Multidimensional Lists
- Objects and Classes
- Basic GUI Programming Using Tkinter
- Advanced GUI Programming Using Tkinter
- Inheritance and Polymorphism
- Files and Exception Handling
- Tuples, Sets, and Dictionaries
- Recursion
- Developing Efficient Algorithms
- Sorting
- Linked Lists, Stacks, Queues, and Priority Queues
- Binary Search Trees
- AVL Trees
- Hashing
- Graphs and Applications
- Weighted Graphs and Applications
Appendices
- Python Keywords
- The ASCII Character Set
- Number Systems
- Command Line Arguments
- Regular Expressions
- Bitwise Operations
- The Big-O, Big Omega, and Big-Theta Notations
- Operator Precedence Chart
About our author
Dr. Y. Daniel Liang earned his Ph.D. in Computer Science from the University of Oklahoma 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 himself to writing texts and published more than thirty books with Pearson. His popular computer science texts are widely adopted in the world.
Dr. Liang was elected a Java Champion in 2005 by Sun Microsystems and has given lectures on Java internationally.
Need help? Get in touch