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.
Sarah Mount developed and began delivering introductory programming courses in Python at Coventry University in 2005. A passionate believer in the language, she has continued to deliver Python programming courses since becoming Senior Lecturer at the University of Wolverhampton in October 2007. James Shuttleworth first began to use Python during his time as a Tutorial Assistant at Coventry University. In 2005 he became a Lecturer in Computer Science and was given the responsibility of developing a new programming module. He has since become Senior Lecturer and continues to teach programming using Python. Russel Winder began teaching programming, software engineering, and human-computer interaction in 1983 at University College London. From 1996 to 2001 he was Professor of Computing Science at King's College London (KCL), where he continued to teach programming. Since 2005, Russel has been working as a consultant, analyst, author and trainer, focusing on the programming languages Java, Python and Groovy.
1. Getting Started 2. The Fundamentals 3. Controlling the Flow 4. Structuring State 5. Functionally Modular 6. Classy Objects 7. Inheriting Class 8. Filing Things Away 9. Testing, Testing 10. Algorithms and Data Structures 11. Threading the Code 12. The Life of the Game 13. PyGames Appendices Index