At this month’s Refresh Cambridge event a couple of weeks ago, I gave a short talk about Code Club; what it’s all about, how to get involved, and what it is like to try to teach kids how to code. This is a summary of that talk.
Against a background of media scare stories about a lack of British talent in massive global industries such as game development, and a more general feeling that children today are not given the opportunity to learn how technology actually works, a nationwide network of volunteer-led after-school coding clubs was born. Set up by two women, Linda Sandvik and Clare Sutcliffe, in April 2012, its goals were ambitious — a club in 25% of UK primary schools by 2015 — and it has since become a player in the emerging conversation around re-introducing programming to the national curriculum. (From September 2014, coding will be back on the school timetable for every child aged 5-16, making the UK the first major G20 economy in the world to implement this on a national level.)
Code Club is entirely dependent on volunteers, who come from a range of science, technology and engineering backgrounds. You don’t need to be a professional programmer to volunteer, although obviously an understanding of the basic logical structures underlying computer programming helps. It’s also not just restricted to schools; other venues such as libraries, community centres or museums could also be the perfect venue for a club.
As a volunteer, your commitment extends to not much more than one hour per week (plus travel time and a little bit of preparation) during school term times. Many volunteers find that their employers are happy to allow them the time off to volunteer for a good cause.
The projects, enough for an entire term’s worth of sessions, are provided by Code Club as downloadable PDFs. Each project walks the children through a logical progression of concepts, introducing more advanced ideas as they master the early simple ones. Topics covered at the moment are Scratch (a basic game and animation construction kit, encompassing many common programming paradigms), HTML and CSS, and Python.
Due to its visual nature, Scratch is a great place to start with the children (Code Club is aimed at ages 9 to 11, or years 5-6). They are walked through the basics of creating and naming sprites, assigning movement and actions through the use of loops and collision detection, and considering gameplay questions such as keeping score and determining win conditions.
As well as the PDF student handouts, the Code Club website also provides teaching materials covering the best way to deliver key concepts, and reminding you to allow the children space to explore and diverge from the plan. You can also download and print out supporting material such as door signs and badges — important stuff if you’re 9 years old!
All the lesson material is also open-sourced on GitHub, so if you find a mistake or want to contribute an improvement it’s only a pull request away.
What is it like?
Despite having been a school governor for a few years in the past, it was still intimidating to enter a classroom in the role of what seems, at least to the children, to be a teacher. Giving a talk in front of an audience of adults is very different than trying to explain relatively complicated ideas to 9 and 10 year-olds, particularly when they have no qualms about interrupting with questions that would never have occurred to you to expect. Luckily, the children at our local school have been well-drilled in the right way to ask questions (hand in the air and wait), and once we had got through the initial basic introduction to Scratch and I had dispensed the project sheets they were all extremely excited with the material and eager to learn.
The most surprising thing was how engaged they all were. With my own children, I have plenty of experience in how difficult it is to hold their attention, particularly with anything that you have any enthusiasm of your own for, but in the classroom all the children dived straight in and were soon experimenting with their own ideas, from renaming sprites or choosing different ones to trying out different values for animation commands.
They were also genuinely helpful with each other. As you might expect there were one or two in each class who quickly grasped the concepts and rushed ahead, finishing the basic exercises quickly, but they would always (after proudly demonstrating their finished game to their friends) offer to help out the other members of the club, explaining where they had gone wrong or offering helpful advice.
Of course, nothing is perfect, and information technology in primary schools is rarely of the highest quality. Teachers can also be very busy, particularly in small primary schools were one person can be filling several roles; often in such small schools, the person responsible for the ICT curriculum is not exactly what we would consider an expert.
There is also the occasional moment where the children’s attention will wander, or they will decide en masse to test your authority. But one of the main principles of volunteering at a club is that you are not there as a teacher; there should always be a member of staff present during the lessons, and it is their job to manage behaviour or dole out punishment, not yours.
How to get involved
If you’re interested in getting involved with a Code Club near you, or think your local school would benefit from hosting one, it’s very easy to get started. Contact the head teacher or ICT leader and arrange a visit to explain about Code Club (there are helpful materials on the website to help you). If they’re interested, they might ask you to attend an assembly to explain it to the children.
You’ll also need a criminal background check (DBS, what used to be known as a CRB check), and then it’s simply a matter of agreeing the regular time slot with the school. Some clubs run at lunchtimes, but most seem to be after school, from 3-4pm.