Over the last year I’ve been volunteering at Stafford Library, running a Code Club. A weekly after school coding club designed for children aged 9-11. In this post I’ll give an overview of what Code Club covers and some of my experiences since getting involved.
The Innovation Suite at the new Stafford Library is a room kitted out with presentation facilities, computers and 3D printers. The library helps prepare the computers and prints the Code Club material for us. The support from Jamie and the team at Stafford Library has been excellent.
Code Club provides learning material in the form of a series of projects. Projects are divided into three main areas – Scratch, HTML & CSS and Python. Generally a group can get through a project in a one hour session.
Scratch is a visual programming language. It allows you to quickly build games using a drag and drop interface. The easiest way to work with Scratch is using it’s web interface. Scratch can also be downloaded and run on Windows, OS X and Linux. The cross-platform nature of Scratch means it can be run pretty much anywhere, including the Raspberry Pi – a small and affordable computer.
We found all the children in our group had experience with Scratch from their IT lessons at school. This meant they could whiz through the first set of Scratch projects with ease.
Scratch makes programming fun. It abstracts a lot of “real programming”, making it easy to build games incorporating animation, sound and complex interaction. By the end of the Scratch series, the children had created a game where a boat follows the mouse cursor through a maze, avoiding obstacles along the way. It even came with explosion sound effects!
The transition from Scratch to HTML & CSS was a big step and felt a little jarring. Going from creating a game one week, to writing a basic webpage the next. It was tough, feeling like a step back rather than progression.
Python added an interactive element back in. The children started by building command line programs such as a quiz and a randomised compliment generator. By the end of the Python series they were using their programming skills to modify a 2D version of Minecraft.
After taking a group through the series of projects I can see a lot of thought has gone into the structure of the material. A balance has been found between learning and having fun. If we’d skipped the Scratch projects I don’t know whether the children would have been as enthusiastic and engaged.
Scratch provides an introduction to computational thinking. It gets the children excited, enabling them to express their creativity in an easy, visual and fun way. HTML & CSS gave them a gentle introduction to code. It’s a forgiving markup language where even poorly formed code will at least render something. Finally, Python takes the coding further. Unlike HTML, Python is less forgiving. It’s a programming language with rules. If there is a syntax error, such as poorly formatted code, the program will fail to execute.
As part of Staffordshire County Council’s effort to promote volunteering opportunities at Stafford Library, our Code Club has been featured in the local press.
Staffordshire County Council produced a series of videos to promote volunteering opportunities at Stafford Library. Alongside Natasha, the group leader, I gave an overview of Code Club and it’s activities.
We also spoke with a reporter from Staffordshire Newsletter, the local newspaper. We gave an overview of the clubs activities as well as discussing how we got involved with Code Club.
— iWeb (@iwebtweets) March 16, 2016
We were invited to talk on Stafford FM, the local radio station. Radio presenter, Ian Keeley was particularly taken aback by the credit-card sized Raspberry Pi computer we brought along.
— iWeb (@iwebtweets) March 11, 2016
Code Club provides children with an opportunity to discover the world of programming. It exposes them to computer hardware, different operating systems and programming languages. For the Python projects we switched to working on Raspberry Pi computers. The Raspberry Pi runs a version of the Linux operating system. This gave the children experience with an alternative desktop environment to what they may have been used to.
One of the children has gone on to build a robot – taking their hardware and software programming further. The robot’s chassis was customised and printed using the libraries 3D printers. The robot is powered by a Raspberry Pi and is programmed in Python. The setup is low powered and can be run off batteries and controlled remotely.
The intention of Code Club isn’t for everyone to become a coder but for everyone to have a greater understanding of how computers work. In an increasingly digital world, this understanding can help remove some of the mystery and magic surrounding everyday technology.
There are now over 8000 active Code Clubs across the globe. Ours is just one of three in Stafford. The message I got from attending a recent Code Club meetup was the existing network of clubs are at capacity and demand is increasing as word spreads.
Volunteering at Stafford Library for Code Club has been enjoyable and rewarding. If you can make the time, consider becoming a Code Club volunteer. All training and resources are provided. See the Code Club website for more information on the organisation’s mission.