For a lot of this year, I have run a Code Club at school.
Earlier this evening, I saw on Facebook a link to another blogger, Rowan Wilson, and their thoughts about their first year running a similar club. His full article is available here, but I plan on using quotes of it throughout to compare their work with my own. Wherever you see a quoted block of text, it will be his unless stated otherwise!
My initial contact with Code Club was through a Computing network meeting through work, lead by the Yorkshire regional representative of the organisation. The sense of sharing some of my other skills outside of teaching was a big draw – the children I work with know a little about my Computing passion (after all, I teach the subject to the whole school from Year 1 upwards), but few know about my knowledge of other areas of coding beyond the school website. The new Computing curriculum does allow for many aspects of coding to be explored, but time is generally limited in lessons, so running a club dedicated to it really appealed to me as I could stretch my legs and allow the children in the club to take longer in using the programs we have used in lessons already but push their knowledge too.
Setting up the club
Unlike Rowan’s experiences – he needed to contact the school, have the relevant checks in place and arrange for a member of the school’s staff to work alongside him – setting up the club was very straight forward. I had a quick meeting with my head about it and it was agreed that it would be a useful addition to the school’s extra-curricular agenda!
Registering the club and DBS checks
Another straightforward process – a simple online form and some training, which is mandatory. I understand the need for this, as the club needs to ensure that their volunteers have guidance for working with children, but it was second nature to me! I didn’t need to complete a DBS check, as I already have one for the school.
STEM
Quote:
Next, I registered on STEMNET. The site said that once the form was completed, someone would be in touch within 48 hours. Turns out Cheshire STEM is actually run by the Mersey STEM agency. They are a small organisation and do an incredible job of running both programs, but as such they do not have the resources to call everyone who registers on the main STEM website. After a few weeks I called them to arrange to attend the STEM training.
The STEM training was actually a one to one where we informally went through what a STEM ambassador was, what they do and what is required of them. Luckily running a single Code Club session fulfils your obligation to them. That said, for every Code Club that you run, be sure to register it on the STEMNET database. STEM agencies have to justify every penny spent to the government including the time spent completing DBS checks. Who knows, hopefully you’ll go on to volunteer for other STEM based activities and if you do, STEM agencies are the people who can make that happen.
I didn’t do this at all – I had no knowledge of it, but I will investigate and see what impact my clubs could have. I’m in a different position, being a class teacher, but it might still be relevant.
Scratch, CSS and programming
I, like Rowan, have no formal qualifications in Computing at all – I didn’t do a GCSE in the subject. I don’t think such a thing even existed when I did mine! I am self-taught in everything I have learned. However, I do have some experience with Scratch through teaching with it for the past few years. I avoided the Scratch work projects for now though as the children involved in the club were using it in my lessons with them, and I wanted the club to be something different for them.
My first few clubs relied on the Code Club project booklets for CSS and HTML – all of which are very well produced and written. The ideas and projects there really allowed my children to start to explore their knowledge of HTML and CSS, as I had given them a reasonable baseline to start from anyway. This is another area my club has some advantages over a volunteer run one – I know where the children are. I appreciate though that mine is a pretty unique situation.
Rowan went further:
I also worked through an EdX course which went into more detail.
I think this may help people coming to Scratch for the first time and is probably a good step to take. However, as Rowan states, “your job in the Code Club is to help the kids find their own solutions, not to fix problems for them…” To achieve this, though, you need to have a decent idea of where they might go wrong in order to help suggest a path towards correcting issues.
Code Club Formalities
Rowan needed the school to link his account with the school’s details. Again, this step was simpler for me as I had access to the school’s account details working there already.
The Club
My club had 10 children in this year: 5 boys and 5 girls. This was important to the organisers, to try and balance out the perceived general gender imbalance in Computing overall. The clubs flew by – the hours really didn’t seem to last that long – and the projects weren’t always completed in the allocated time. As with Rowan:
the hardest part of the session was tearing them away from the keyboard and getting them to save their work.
One thing I decided to do early on, was showcase the club’s work on the school’s website (link). This gave the advantage of having an additional focus for the activities beyond the ones already discussed and also provided the members a sense of pride in being able to share their work with others. I did this through a google form I set up, allowing children to share their online work with me via an embed link. After a quick training session on it, they were into the habit of doing this every time.
Other considerations
The Code Club projects are primarily written for online tools, and to access these, you generally need a valid email address.
One simple way around this is to create accounts using gmail aliases. One example would be pupil.a+example@gmail.com – the resulting emails would be sent to example@gmail.com but the system would see each variation on this as unique.
Offline editors are available too – Scratch is used in most schools that I know of – so the projects would be usable in those ways as well. I can’t think of many ways you could avoid using trinket.io for the HTML and CSS courses though, as all the resources you need are embedded in the project’s pages.
Rowan makes a great point in his article and is something to carefully consider before tackling Computing projects:
…the issue of where they save the work. The majority of the children knew the school computer network already and were competent in saving to a mapped file share. Some weren’t. And neither was I. I had to figure this out myself and instructed those that hadn’t saved their work to leave the PC on and I would save it for them. I asked the Head if we could have a Code Club share which was eventually set up. In the end the children figured out a safe place for their work and the older children even created online accounts using a parent’s email address at home. The point here is, do not take anything for granted. There are subtle differences between the online Scratch editor and the offline equivalent. Another thing to consider is if the School only has Scratch 1.4 installed. This will look completely different to Scratch 2. Get the school to install Scratch 2. Or even do it for them. This is where my skills as a System Administrator were of benefit. You will spend a fair proportion of the session sorting out issues unrelated to coding.
I spend at least half of my Computing lessons with Year 1 and 2 children, finding the best ways to save their work. I still haven’t come up with a great solution. These are children who don’t have individual logins, who use a generic username to access our shared systems in school. This is something that wasn’t a problem in Code Club as I was working with children in Years 5 & 6, but it’s still something to always be mindful of.
Rowan also makes another great point.
Some children who remained using the offline editor would turn up with a USB memory stick in hand asking to save their work on the memory stick. If this happens you need to check what the school’s policy is on the use of removable media. Some schools may not allow it.
My school does, to a point. It isn’t a huge issue really as most things can be saved to our network, or can create embeddable links to share online. I think my Google form way of sharing really made my life easier – especially as I could then dedicate the next half hour or so creating a post on the school website containing all their work!
Attendance
Unlike Rowan, as the year wore on my attendance dropped slightly. One member had a clash with something else in their life, and another one found the work a little too demanding and wasn’t enjoying it as much as they had done. What I found was that the fun was always there regardless of how many people we had. One week, near the end of the school year, had just the five of us in the classroom and we had a great time bouncing ideas off each other and created a really fun piece of collaborative work.
Code Club Projects
I used both the Scratch projects and the HTML & CSS ones. I’ve already written about how nicely structured they are. I feel they provide a decent challenge for children, but also guide them through the task at a reasonable level and pace.
I did find a number of children who didn’t use the guidance at all, instead preferring to FOBY – Find Out By Yourself!
For a period we did try the HTML/CSS and Python courses but they didn’t hold their attention as much as Scratch did. Using Trinket to write code and then displaying the output in another window didn’t seem to tally with how a ‘real’ web page works. Despite numerous attempts to explain the concept and showing them the source code from common web sites, they just weren’t interested. Maybe it was the way I was explaining it. Maybe they couldn’t see that by using Javascript inside of web pages they could write advanced games. They were underwhelmed by the concept. It just wasn’t visual enough for them.
This is where my experience really differs. My children loved using trinket – in fact, we did more work on trinket than anything else. They enjoyed tinkering with the code and seeing the output almost instantly. I think that, because I shared with them how our school website works, and because I could show them the links between their work and that example, that made it easier for them to see the power of their learning.
I never tried the Python examples, because I don’t know enough of it to be able to teach it. That is something I want to get my head around for next year. Again, though, I’m in the position to be able to spend time on the school’s systems ad ensure that the projects will work.
Python was a different issue. I had to ask the school to install Python on the school PC’s and so took a little more preparation work. I am not sure it was worth it. The children again weren’t blown away by the concept. There were also a few issues with the code in the projects. Do not take anything for granted here. Test the projects on a school computer before giving them to the children. To this day, despite it being listed as an installed module, I still can’t get the Turtle project to run. Much of the confusion with Python was the use of IDLE and the use of the Python Interpreter. Sometimes the children would start typing the code into the Interpreter, realise they had made a mistake, then try to copy everything into a new file and copy all of the text including the version details and ‘>>>’ characters from the beginning of each line of code. The result, much hand-held editing from me. Then there was the issue of tabs and spaces. Oh man, this bugs me on a daily basis, so having to explain this concept to the children quickly turned them off. The final nail in the coffin for Python was Python 2 compared to Python 3. I tried to make comparison of Scratch 1.4 compared to Scratch 2. But by this stage, there just wasn’t enough instant gratification and the following week, pretty much all of them were saying “Can we do Scratch?”
These words will certainly be in the back of my head if I do try to use Python.
Other Projects
I didn’t want my Code Club to become stale and follow a similar pattern every week. In the end, after a brief consultation on the Code Club Google Forum, I decided to create some stop-motion animation too. This didn’t really involve coding in any way. I had intended it to go down a different route to the one we ended up going in, but a lack of preparation time here meant that the work wasn’t exactly as I envisaged. Still, it added another string to the club’s bow and diversified the direction we went in.
Conclusion
Running a code club has given me an extra element of fun in my teaching job. I hope to continue next year and hope to have a full complement of 6 boys and 6 girls, which was my original intention. I have had some interest from children lower down school to join. I also have the Year 5s who will move to Year 6 wanting to continue. I will need to think of some fresh projects for them to work on though as I can’t really repeat any from this year because of them.
Is it worthwhile? Yes. Very much so. That additional time spent working on projects paid off in class lessons as the code clubbers became little experts on the programs we used in the end, helping others out when they were stuck. That gave me an enormous sense of pride!
Thank you to Rowan Wilson, who inspired me to write about my experiences, and to Code Club for introducing the concept to me in the first place and providing the projects for my initial foray into after school coding!