Title: How to Think Like a Computer Scientist : Learning with Python.
Author: Allen B. Downey, Jeffrey Elkner and Chris Meyers.
License: GNU Free Documentation License
This book is based on Allen Downey’s How to Think Like a Computer Scientist, a clear and helpful first-year computer science textbook. The book’s goal is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Since Python can be taught easily, beginners can pick up the language and start doing neat things almost immediately without getting lost in the problems of compilation and linking.
Python provides a really nice balance between the practical and the conceptual. Furthermore, Python comes with a large library of modules that can be used to do all sorts of tasks ranging from web-programming to graphics. Having such a practical focus is a great way to engage students and it allows them to complete significant projects.