Learn to Program by Solving Problems is a practical introduction to programming using Python, one of the world's most popular programming languages. The book emphasizes problem-solving strategies that teach readers not only the mechanics of coding, but how to think like savvy programmers.
Chapter 1: Getting Started
Chapter 2: Making Decisions
Chapter 3: Repeating Code: Definite Loops
Chapter 4: Repeating Code: Indefinite Loops
Chapter 5: Organizing Values Using Lists
Chapter 6: Designing Programs with Functions
Chapter 7: Reading and Writing Files
Chapter 8: Organizing Values Using Sets and Dictionaries
Chapter 9: Designing Algorithms with Complete Search
Chapter 10: Big O and Program Efficiency
Dr. Daniel Zingaro is an award-winning Associate Professor of Computer Science in the teaching stream at University of Toronto Mississauga, and is internationally recognized for his expertise in Active Learning. He is also the author of Algorithmic Thinking (No Starch Press, 2021).
"The book is an exceptionally well-written technical Python book
for beginners that uses active learning techniques. If you're a
beginner to intermediate-level coder, this book will significantly
improve your Python skills. It's easy to read, and solving the
problems is fun and satisfying."
-Christian Mayer, Finxter