Running code workshops in schools


During Brighton’s Digital Festival, I ran 2 Hackasaurus workshops in local schools for students aged between 13 and 15. I did this with Aral Balkan who taught the concepts of programming using Scratch.

The workshops I ran taught how to inspect HTML using a browser bookmarklet called the Web X-Ray Goggles. Students then start building their own webpages using snippets of HTML and CSS which I’ve put together in the Hackbook. I typically get 60 minutes to run the workshop, although this is realistically around 50 once all the introductions are done and students are sat at their desks and logged in.

The setup

Both schools I went to were specialist technology colleges, so had a better setup than most. Since the Goggles need a modern browser, I asked for this to be installed before the visit. This is usually quite difficult, with the most quoted excuse being that it’s not compatible with firewall settings, but these schools were already using either Chrome or Safari.

The layout of the rooms meant students were sat with their backs to us, so it was difficult to get their attention once they’d started work. If you find yourself with this setup, try to structure the workshop so you don’t have to keep stopping them from what they’re doing.

School 1

This was a small secondary school (high school) with a class size of around 25. Each student had a wide-screen monitor with a Mac Mini strapped to the back. These were dual-boot OS (OSX and Windows). The technicians installed Chrome for the day so we could use the Goggles, and the bookmarklet was already installed.

A photo of Aral Balkan setting up for a workshop
A really blurry photo taken on my phone of Aral setting up for his Scratch workshop

All the students were there by choice and it was a very different atmosphere to what I’m used to when I go to a school. Students were eager to teach each other, and were mature and adept using computers. They had a firewall but it wasn’t as in-your-face as a lot of places.

Using the Goggles, I started off teaching the students how they can change the text on their school’s website by editing the HTML. The Goggles are a really nice introduction to HTML because they ease students into writing code with very little explanation. I like to get them actively building stuff 5 minutes into the lesson so they don’t get bored, and so they have lots of time to try things out.

School 2

This was a very large secondary school with a class of around 25 with Windows setup. Chrome was already installed and in use.

We got 2 groups of students who were there for an IT lesson. I was a bit worried at the start because they all seemed quite boisterous. However, they were both really lovely groups and were very mature and fun to work with.

The network settings meant the Goggles didn’t work in the end which came as a bit of a surprise, but the programming part of the workshop went down very well.

Things that surprised me

  • Many students didn’t know how to copy and paste using hotkeys. Next time, I’ll teach this at the very start.
  • I mentioned that I learned CSS customising profiles on Myspace. Then I realised I had to explain what Myspace was. I felt so uncool!
  • Aral taught the students what a floppy disk was. Those were being phased out when I was their age.
  • When asked how many used social networks, less than half the classes put up their hands. I expected them all to be on Facebook or Twitter, but only a handful were.

Since part of the workshop involves choosing images to put on a webpage, I need to add a bit about Creative Commons to the workshop, with a description and links on how to search for images. It’s difficult though because so many image sites like Flickr are blocked.

Things that didn’t go so well

  • Right before the workshop, there was an unexpected fire drill, so we lost a chunk of time.
  • The internet was painfully slow, and a lot of pages were blocked. The annoying thing is, students get a page of image results, but the network blocks the full-size image when they click on it. This combined with a slow internet made the activity really boring and frustrating. I ended up telling everyone to stop and we did something offline instead.

I have a few fallback plans if things go wrong. These are for scenarios like the Goggles not working, the internet not working, right down to a power failure where the computers aren’t working. Having Aral there was really useful because all he needed was a laptop and a projector, and he gave an engaging demonstration on how to program an Angry Birds style game.

Things that made me very happy

  • A couple of students said they played Minecraft, had their own servers, and were totally into Mozilla stuff! One of the girls had already been building webpages using HTML and CSS for years and was very good.
  • Apparently there was one student texting his friends under the desk telling them to go to the Hackasaurus website.
  • The students reacted very positively. There were comments like “Hackasaurus is so cool” and “I want to be a coder now”

The workshops encouraged a very collaborative learning experience. There was a ripple effect when someone learnt how to do something new. This made teaching a lot easier because people were teaching each other in the way that developers in the “real world” do.

Teach to code before teaching to code well.

When I started doing this stuff, all I wanted to do was teach people how to write clean, semantic code. In reality, you get so little time and they’re all learning their own way that the code they produce tends to be messy and bloated. But I’ve learned through a lot of doing this to have a pragmatic approach at the start. My primary goal is to inspire people to write code, not to force them to write good code. That bit comes later. If they’re not having fun writing code at the start because I’m telling them it’s “wrong”, they won’t want to write code at all.

The bigger picture

While we were leaving our last workshop, Aral said “This isn’t a solution, this is a sticking-plaster over a wider problem”. I want this to be more popular, I want to see more people from the industry going into their local schools and running code workshops, but this we also need to keep our eyes on the wider goal. These skills need to be taught as a standard, not as an extra-curricular activity.

Help improve digital literacy

I do workshops like this because I think it’s important that young people to understand how the technology they use works. I talk a lot about the lack of computer science in the curriculum, and IT teachers recognise the problem too but have a lot up against them at the moment. Going back to school to teach a bit of code feels like doing something positive rather than just complaining about it, which I feel I do all too much.

  • Write to your old school and ask to come in for an hour to give a talk or a workshop. Schools love having people from the “real world” in to talk about what they do.
  • Older people need help too. Become a digital champion and run a workshop for people who aren’t online and could really benefit from learning to use technology.