Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming & is carefully designed to define all terms when they are first used & to develop each new concept in a logical progression. Larger pieces like recursion & object-oriented programming are divided into a sequence of smaller steps & introduced over the course of several chapters.