front matter
Python is an excellent, general-purpose programming language. You can write a program to send secret messages to your friends or to play chess. There are Python modules to help you wrangle complex scientific data, explore machine learning algorithms, and generate publication-ready graphics. Many college-level computer science programs have moved away from languages like C and Java to Python as their introductory language because Python is a relatively easy language to learn. We can use Python to study fundamental and powerful ideas from computer science. As I show you ideas like regular expressions and higher-order functions, I hope to encourage you to study further.
Over the years, I’ve had many opportunities to help people learn programming, and I always find it rewarding. The structure of this book comes from my own experience in the classroom, where I think formal specifications and tests can be useful aids in learning how to break a program into smaller problems that need to be solved to create the whole program.