Python for Rookies is designed to help students learn how to program. Using the Python language as a tool, the approach taken teaches students the fundamentals of programming and re-enforces good programming practice. Written for students studying a variety of degree subjects such as Games Technology, Creative Computing and Multimedia (where core Computer Science is applied to the Arts) the pace and breadth would also be suitable for a one semester introductory programming course for all computing undergraduates. We hope that the example programs, chosen to enliven and motivate will also be very relevant to a range of courses and the varied ambitions of people who need to acquire programming skills. The book covers programming from small script-style applications to larger pieces of software. The emphasis remains on problem-solving, even through the introduction of common libraries and object-oriented programming. Test-oriented development is an integral part of programming and learning how to incorporate a unit test early on will take away the frustrations of producing buggy software that doesn't run. It will provide a framework to support your learning of programming.