The Python: Coding Club series by Chris Roffey (Cambridge University Press) comprises four books, mainly aimed at children who wish to explore programming using the Python programming language. The books are written “from an education background”, with “no intention of teaching youngsters to become Python programmers per se.”
The first book, Python Basics, is introductory and deals with fundamental programming concepts such as input-output, variables, selection and iteration, functions and randomness. Also incuded is an introduction to the tkinter GUI toolkit.
The second book Python: Next Steps dives into the data structures commonly employed in Python, such as strings, tuples, lists and dictionaries. In this context, a calculator is built, making use of tkinter once again. The third book Python: Building BIG Apps mainly skims over object-oriented programming concepts such as classes and methods and develops the game of Pong. The final book in the series Python: Programming Art deals with the turtle module and makes advanced use of tkinter in order to implement a drawing app.
In each book, all concepts and programming constructs are unfurled while gradually building upon a particular project, which is an exemplary approach. However, it is evident from the range of concepts covered in such limited space that the books are quite dense. A novice programmer will find them demanding to follow and will most probably require help and guidance in dealing with the material. It would be very useful if additional examples and exercises were provided, offering opportunities for practice and highlighting Python’s rich capabilities.
The books are short and pleasant to the eye. A lot of effort has gone into the typesetting and illustrations, while the landscape orientation with the spiral on top is original and practical.
Roffey sets an ambitious goal for the reader: “to learn not only how to make the programs in this book but also how to design your own.” We are uncertain if this goal can be achieved with so much content delivered in such a condensed form. It would certainly require a lot of persistence and experimentation, so it would be hard to recommend these books to the average novice self-learner. Other than that, anyone teaching programming using the Python programming language will certainly find these books useful. Its project-based approach is appropriate, grasping and followed consistently throughout the series. It could also serve as a quick overview of Python for those already familiar with other programming languages.