Running Code Club – end of term 1

I’ve just finished a term of Code Club, teaching programming to primary school children aged 8 to 9. This is my experience of running the club.

About Code Club

Code club is a programming club aimed at primary school children designed to be run in a school or youth organisation. It’s run by volunteers, who can be programmers, school teachers or anyone with a reasonable understanding of computers.

All the materials are provided in electronic format, and it’s just a case of printing off the materials and taking them into the school each week. Although it’s usually a good idea to work through the exercises in advance so that you are familiar with the code.


Code club is designed for 9 to 11 year olds. Whilst this is the age of children under secondary school, in the area that I live there is a three tier system and so that age group is actually at middle school rather than primary school. I had already approached a primary school (my children’s school – although I had already offered it to a different school in the local area first) and so ran the club for 8 to 9 year old children. I have only done the first term of the code club and whilst I plan to run another club this academic year it will be running term one again for those unable to attend last time (due to numbers) rather than term two of the code club course.

It also means that this is not too difficult for the children which I think terms three and four would be.

Police checks and teacher involvement

It is a requirement for everyone working in schools to be checked against any criminal records. This is done through Disclosure and Barring Service (DBS), it was previously known as a CRB check. This can be done by the school, but is easier to do this by becoming a STEM Ambassador.

Normally a teacher needs to be present during the after school club (it’s certainly a requirement if doing it as a STEM ambassador), but they don’t need to be actively involved. Fortunately the teacher at the school where I ran the Code Club was keen to get involved and help out. Whilst she did not have any experience of Scratch prior to the start she was still able to help the children which made it easier manage the group.

Fitting around work

Code club is normally run at about 3.30pm after school finishes. Obviously this is still during the working day for many of us. Fortunately my employer has a volunteering policy which made it easier, although often employers can still offer flexibility when required. I am able to do some of my volunteering time during “work time”, but I also do some of the volunteering in my own time by catching up on work during the evenings.

Despite having this flexibility from work it could be a little difficult leaving so early on a few occasions if there is something urgent or a meeting organised on Code Club day. I also sometimes need to travel to other locations, which is why I have decided not to run one next term and instead run one during the summer term.

Using the Raspberry Pi for teaching Code Club

I have been running the Code Club using Raspberry Pi computers (Running Code Club – Scratch programming on the Raspberry Pi ). The biggest thing about using the Raspberry Pi was the time spent in setting up the Raspberry Pis ready for when the children came in. I arrived each week 30 minutes before the club was due to start. Assuming all went well this was sufficient time to get everything setup ready. It turned out on most weeks there was something that didn’t go quite according to plan, although it didn’t stop the club they were a little frustrating. The explanation of what the issues are is a bit wordy, so I’ve explained them a bit later (an appendix in a blog … whatever next? …) .

Collection of Raspberry Pis - cases from Pimoroni, ModMyPi and Cyntech

Whilst none of the issues I had with the Raspberry Pis were real show stoppers the additional time required means that it is better to go into a school which already has Scratch installed on the school computers rather than using the Raspberry Pi. Although one of the good things is that it showed them that the Raspberry Pi could be a good thing for them to have at home for learning to code on, and although the children probably didn’t know it, they’ve had their first taste of the Linux desktop. Hopefully when I next teach Code Club then Scratch will be installed on the school computers.

Rewarding and enjoyable

Running the Code Club has been enjoyable and it’s great to see the children achieve something at the end of the 10 weeks. Most had never done any programming before the code club, but by the end were able to create their own game.

The children certainly seamed to enjoy it too.


Running a code club is good fun and very rewarding. You don’t need to be a teacher (in fact I’d guess most aren’t) or a programmer, as long as you have a reasonable amount of experience with computers and are willing to learn.

Appendix – Using the Raspberry Pi with code club

I’ve already written about my initial experience of running Code Club on the Raspberry Pi computer, here are a few more of the things I found during running the course.

Setting up the Raspberry Pis

One of the issues with setting up the Raspberry Pi computers was that the IT room was sometimes in use when I needed to setup. This meant that I had only about 20 minutes which was not quite enough, although fortunately the pupils waited patiently for about 5 minutes whilst I finished setting up the last few.

I also had another issue which took some time to track down, due to it’s seemingly unpredictable nature. Often one Raspberry Pi wouldn’t work – it would appear to boot up correctly but then (whilst I was setting up another) the screen would go blank. I had tried several things that I thought may have been the issue (eg. re-imaging some SD cards) and I did think it may have been a problem with the connection at the back of the monitor (this was an issue on one occasion, but not on the others). In fact I only worked out what the problem was during the penultimate week after 8 weeks of Code Club. I had 8 of my own Raspberry Pis that I used for the Code Club. Each had it’s own case, a variety of different makes including Pimoroni, ModMyPi and Cyntech (some of them are shown in the photo above). I also used two different types of SD Card, some were standard SD cards that I’d bought and installed Raspbian onto myself, and some were official Raspberry Pi NOOBs SD cards (two different generations). I always used the same SD card for the same position in the classroom (so that the pupils would be able to retrieve their previous work), but which Raspberry Pi they got was more or less random. The schools screens I were using had DVI cables connecting them to the computers so I bought HDMI to DVI adapters to connect the Raspberry Pi to the existing cables. I bought these from CPC: PRO SIGNAL – PSG03200 – ADAPTOR, DVI SKT TO HDMI PLUG . Now mostly these worked fine, but the HDMI end is oversized, which means it doesn’t fit completely into the recessed sockets, the HDMI connector did plug into the Raspberry Pi, but the connection was not particularly good and this is where the problem was. It turns out that when connected into a standard PiBow (but not the PiBow timber), then the connection allowed the video output to be displayed on the screen but is not reliable enough for the Raspberry Pi to properly sense the screen unless held in during boot time. One of the reasons I didn’t spot this earlier was that it also depended upon which SD card was being used the Raspberry Pi, as the NOOBs images always default to the HDMI output, whereas the older standard Raspbian image would only use the HDMI output if it could see that there was a screen connected. Now I don’t think this is the fault of the case (so you shouldn’t use that to base your decision for which case to buy), as these adapters are larger than a typical HDMI connector. There do appear to be differences between different adapters, and whilst I haven’t tried perhaps this one would have fitted better: PRO SIGNAL – PS11314 – ADAPTOR DVI FEMALE TO HDMI MALE , although that still looks oversized it’s hopefully smaller than the one I bought. It’s made by the same manufacturer but costs 90p more. Although as far as getting these working I found just holding them in place during the boot fixed this.

Problem loading JPEG files

I did come across a problem with Scratch reading JPEG files in the latest NOOBs image. I only had this on a couple of the computers that I’d re-imaged with the latest image, but it was a bit of an issue as most of the background images are saved as JPEG files. I did report this bug and I think it may have been fixed by now, but I tried to keep the SD cards consistent during the club so I didn’t update any of the cards to check.

Unable to load the files – other than on a Raspberry Pi

I have been unable to load the Scratch files onto Scratch 1.4 on any other computer. It is possible to upload the files from Scratch on the Raspberry Pi onto the Scratch website. I can then edit the files in version 2, but if I try and download the 1.4 version then I get an error when loading it and version 1.4 of Scratch is not forward compatible with version 2. Unfortunately Scratch version 2 needs Flash to run, which is not available on the Raspberry Pi.