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
Learn to Code by Solving Problems
Computers are powerful problem-solving machines capable of doing almost anything, with the right instructions. That’s where programming comes in, allowing us to communicate those instructions through a coding language like Python. This beginners book gets you writing programs right away, as you solve interesting problems drawn from real coding competitions while building Python skills.
Every chapter is driven by problems drawn directly from coding-challenge websites, where online judges test your solutions and provide targeted feedback. As you practice using core Pythonic features, functions, and techniques, you’ll develop a clear understanding of data structures, algorithms, and other foundational aspects of programming useful in any language. Bonus exercises are also included so you can explore new concepts on your own, and multiple-choice questions throughout the text encourage you to critically consider the purpose of each piece of code.
- Introductory ideas, like running Python code, working with strings, and using variables
- How to write programs that make decisions
- How to use while and for loops to repeatedly execute code
- How to use Python sets, lists, and dictionaries to organize, sort, and search data
- How to design programs using functions and top-down design
- How to create complete-search algorithms, and use Big O notation to design more efficient code
By the end of the book, you’ll not only become proficient in Python, but also learn the type of thinking required to solve problems with a computer. Because programming languages come and go; the way we solve problems does not.