Like many other people of my age, I did IT for GCSE at school because 'the future is computers'. This was in the year 1999/2000 and the entire course was just Microsoft Office and the tiniest amount of HTML. All I remember is spending a year thinking up comedy names to go in my Access database, making a 3D conic graph with 'This is a graph' written on it to cover stupid criteria and doing my HTML coursework in Publisher (Oh yes). Suffice it to say that it was hardly inspiring.
10 years later, I was writing my dissertation for my Software Engineering degree about why girls don't want software careers. Obviously a good place to look is the education system and I was shocked to find that IT education was generally where I'd left it a decade prior. The stats I had showed that by 2014 no girls would take A-level Computing. The article didn't also mention that by 2019 no boys would be taking it either. Everyone was being let down.
I didn't really think about it again until I went to Pycon UK in 2012. This was when the Raspberry Pi was starting to get big (I missed Eben's keynote thanks to beer) and education was a massive theme of the conference, as it continues to be. I remember mostly being frustrated by the endless chatter and the 'Maybe we just need another resource list!' ideas. On the Saturday morning however, I saw a talk about a project to take Pis loaded up with Django into schools to teach web development by my now good friend Paul Hallett. It was one of those lightbulb moments; I realized that actions are much more important than sitting around talking, and during that talk I signed up as a volunteer to help teach kids coding.
I mentored at a couple of ad-hoc events but felt that I wanted to do something more long-term and in 2013 I became a STEM Ambassador with the aim of starting a Code Club. For the unaware, Code Club is an organization where developers and others volunteer to go into primary schools and run an after-school club to teach code. They have written a curriculum and have a great website and sign-up process. For personal reasons, I didn't have time to do much until this year and I started my club in September this year.
In general I've really enjoyed it. This may sound horribly cliche but I think I've learnt a lot about myself by doing this. My group started out with about 15 kids and now has shrunk a bit to around 6. We were following the Code Club Scratch projects and did a project a week, with the view that some of the kids would finish them at home or in study time.
I think the main thing that came out of this first term is that I need to put in way more work. Having worksheets that can be printed and handed out for them to follow has made me a little lazy, especially with so many other things making demand on my time this year. The worksheets themselves are very good but don't explain new concepts very well. I also had a lot of trouble with the curriculum being moved around and so the flow between lessons wasn't the best.
I really love Scratch as a tool, the simplicity hides that you can make some really complex things with it. I think now that the kids are more familiar with it we could make some more interesting things. They have definitely enjoyed it more in the last month or so when we got to the level where they could tinker and 'hack' a little more. If I was doing this again, I would probably still follow the worksheets for half a term but in a more directed way, and then once we got our bearings I'd have got them to download other people's projects and hack around with them. The only issue with Scratch is that I think some of them found it to be a bit 'childish' and wanted to make 'real' games they could play on phones and consoles.
Next term though they have asked to do websites instead. There are Code Club worksheets for HTML and CSS but I think I'm not going to use them. My plan is to make a few sample websites of my own where they can fill in text and change a few things, also I want to look at tools like Mozilla Thimble and similar.
On a personal level, I want to keep teaching people to code not just children. I think that with the number of unskilled people looking for work out there, some of them could do worse than picking up a bit of code or web design. The company I work for is currently teaching an ex young offender to code and I think that's a wonderful idea. I am running a workshop in the new year for the Sheffield Ruby usergroup which I'm really looking forward to. It's too easy to look at issues like the gender disparity in tech and just dismiss it as 'the pipeline'. Teaching girls to code at school is part of the solution but it is not the full one. IT education has had a reform for the better but I am concerned about how business-led it is. I believe teaching coding is important because it is creative. I code because I'm not an artist or a writer and so it's the only way I can build things. It should be taught alongside art, drama and music, not as an opposite. It should be used to teach kids concepts in mathematics or geography, it should help them write stories and make music.