Learning programming with stories

Over a year ago I came across Python Pals, a project to write stories that motivate young people to learn programming. I always intended to write about the project but forgot to do so.

The concept for the stories is inspired by the Bytes Brothers stories of old, and follows a similar format: in each story, the pair of young protagonists come across a problem (such as calculating the exact age difference between their parents) that gives rise to a simple solution that they work together to implement. The story contains code snippets that the reader can use to follow along for themselves.

I love the concept, and the stories are certainly a refreshing change from the status quo in teaching programming. Using female protagonists is a nice modernisation, though I found the trendy inclusion of a Raspberry Pi irritating: you don’t need a Raspberry Pi to learn to write command-line programs in Python. In fact, the Pi can only make the task harder and implies that special equipment is needed (laptops that are capable of running Python are still massively more ubiquitous than Raspberry Pi’s, despite the latter’s low price and status as a media darling).

My instinct is to worry that this story-based approach is solving the wrong problem: my own experience was that it was very easy to get started with simple command-line programs and much harder to get as far as making things that felt like “real” programs. The idea that computers could be made to do things came easily to me, but I felt that writing a tool or game that someone else would want to use was well out of my reach. I’d have been better cutting my teeth on something that made the installer and GUI easy, such as the Android platform (or even not-quite-programming environments like writing AVS presets).

But I don’t have a lot of experience teaching young people to program, and my experience was a long time ago and may be atypical, so I’m happy to be proven wrong here. I don’t think we need to be teaching all children to program, but we should be providing resources for all those who are interested. A diverse range of solutions has to be a good approach.

2 thoughts on “Learning programming with stories

  1. Terence Eden

    Hi Tim,

    Thanks for the feedback. You’re quite right about the Pi. I initially chose it because it comes with Python and I didn’t fancy writing a story about how to install it 🙂

    I did look at a more visual approach – I taught Scratch to 9-14 year olds for CodeClub.org.uk – the issue there is that while it’s easy to make a game it’s quite tricky to make anything substantive or computer science-y.

    I don’t think there’s any one “right” approach. Different people will want to try different things. If you want to contribute a story about, say, Android – that would be amazing – the GitHub repo is at https://github.com/edent/PythonPals

    Thanks

    T

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *