Python for Software Design is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practice each new concept. Exercise solutions and code examples are available from thinkpython.com, along with Swampy, a suite of Python programs that is used in some of the exercises.
Allen Downey is a Professor of Computer Science at Olin College and a former Visiting Scientist at Google, Inc.
He is the author of Think Stats, Think Python, the How to Think Like a Computer Scientist series (in Java, C++, OCaml, and more), The Little Book of Semaphores, and other computer science books, all available free at greenteapress.com.
Allen is an avid runner, gardener and cook. He ran the Boston Marathon for the first time in 2011, finishing in 3:45.
Allen lives in Needham, MA with his wife, two daughters, and two cats.




