...There's ... emphasis on teaching computer science not just as a technical trade but as a mental discipline.
Guido van Rossum, creator of Python
The concepts covered here apply to all programming languages and to problem solving in general.
Richard M. Stallman, founder of the Free Software Foundation
This book is not just a programming textbook--it is a contribution to the freedom of knowledge.
"How to Think Like a Computer Scientist: Learning with Python" is an introduction to computer science using the Python programming language. It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.
About the Author
Allen Downey is a professor of computer science at Wellesley College in Massachusetts.
Jeffrey Elkner is a high school math and computer science teacher at Yorktown High School in Arlington, Virginia.
Chris Meyers is a professional programmer who teaches a beginning Python class at Lane Community College in Eugene, Oregon.