A fine little book. I was rather curious to be honest how one might approach teaching a programming language to children in this day and age. My curiosity stems from memories of attending Pascal workshops in the 1970s at the University of Waterloo a curious child myself. We eventually ended up playing text-based Star Trek on the black and white terminals…but boy it sure was cool to be at University in front on CRT’s where if any exposure we might have experienced punch cards. So where are we today? Well, this ‘Playful Introduction to Programming’ offers a simple, straightforward and great intro to Python for all ages. In fact, I am quite reminded of the old workshops in Pascal. But then, the tried and true has been proven and in the case of this book refined.
The manual is well illustrated with helpful screenshots, and cute little cartoons. Not intrusively though. Exercises are hands-on colourful, easily accomplished in small doses and logically build on one another. I liked the Turtle exercise and was very reminded of Logo and why it was so popular as a learners programming language. There’s actually a lot in this book that is very useful and valuable to a Python learner. In addition to the compliments above, I add that it is a rather satisfying journey. Things move at a fast pace and there are a profusion of examples — more than most manuals aimed at an older audience than kids. In fact this where I am with it. How do you appeal to a younger audience? And more importantly keep them hooked?
As textbook for use in classrooms in grade school to high school I think this is a superb manual. More broadly I would probably reposition it as well as a very gentle introduction to the language for all ages (probably sans the little comics). The structure of exercises and a great summary at the end of the bite sized chapters is good pedagogy. It move through at a great self-directed style. And in noting my earlier experience with the procedural Pascal, one of the toughest things I have faced ever since those early days has been to retrain my mind to think in terms of OOP. Chapter 8 of this lovely book does a remarkably good job of breaking this habit for me. It is a wonderfully clear and well expressed look at classes and objects that again transcends generations ;-)
I am not sure that this book will hook and keep kids engaged. As that being a narrow target audience, I am not sure that it will succeed with that target without having a bit of a firm hand forcing its use. At the same time, I can’t really say enough good about this book being a superb gentle introduction for all audiences. I’d recommend this book as a perfect introduction to Python for any learner with no prior experience. Its clear, straightforward and a great learning tool.