Think Python: An Introduction to Software Design

Title: Think Python: An Introduction to Software Design
Author: Allen B. Downey

Description: 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.
Format: PDF

Price: Free
Download from the Source
Source: http://www.greenteapress.com/thinkpython/thinkpython.html