Learn to Code by Solving Problems: A Python Programming Primer
- 5h 19m
- Daniel Zingaro
- No Starch Press
- 2021
Computers are capable of solving almost any problem when given the right instructions. That’s where programming comes in. This beginner’s book will have you writing Python programs right away. You’ll solve interesting problems drawn from real coding competitions and build your programming skills as you go.
Every chapter presents problems from coding challenge websites, where online judges test your solutions and provide targeted feedback. As you practice using core Python features, functions, and techniques, you’ll develop a clear understanding of data structures, algorithms, and other programming basics. Bonus exercises invite you to explore new concepts on your own, and multiple-choice questions encourage you to think about how each piece of code works.
You’ll learn how to:
- Run Python code, work with strings, and use variables
- Write programs that make decisions
- Make code more efficient with while and for loops
- Use Python sets, lists, and dictionaries to organize, sort, and search data
- Design programs using functions and top-down design
- Create complete-search algorithms and use Big O notation to design more efficient code
By the end of the book, you’ll not only be proficient in Python, but you’ll also understand how to think through problems and tackle them with code. Programming languages come and go, but this book gives you the lasting foundation you need to start thinking like a programmer.
About the Author
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).
In this Book
-
Introduction
-
Getting Started
-
Making Decisions
-
Repeating Code: Definite Loops
-
Repeating Code: Indefinite Loops
-
Organizing Values Using Lists
-
Designing Programs With Functions
-
Reading and Writing Files
-
Organizing Values Using Sets and Dictionaries
-
Designing Algorithms With Complete Search
-
Big O and Program Efficiency
-
Afterword