Code Club

29th November, 2015

Code club logo

I've been taking part in a national after-school club known as Code Club, aimed at kids 9-11 with a view to inspire them and teach them about programing. The code I have been teaching them is based on Scratch, which uses drag and drop 'blocks' of code to control and interact with sprites. I have helped host and run 2 clubs at different schools and the results have been quite different. Here I'm going to share my experiences and some ideas that others may find useful.

Challenges

I'm not a teacher, nor am I great at public speaking, so one of my biggest fears is nerves and awkwardness. It's a bit daunting at first with a room full of 25 kids focused on you and listening to every word you say. I try to keep my talking to a minimum by asking them lots of questions so it keeps things quite interactive and they feel involved. After a while you become used to the classroom noise, become more focused on what you're teaching them and pay less attention to the fact that you're talking.

It's also quite fun when they all shut up and pay attention. One method the schools I have taught at implement is when the teacher claps a short rhythm, then the kids have to repeat the sequence and immediately stop what they are doing and shut up. I found this pretty hilarious the first time I witnessed this, but it seems to work!

Discipline - I seem to find the kids only start messing around or misbehaving when they are bored or no longer focused on the task at hand. Sometimes there's a few kids who consistently don't want to do the work the rest of the class is doing. I try to encourage them to do the work just like the other kids, but if they really want to work on some other projects or play some other game, well at least it's kind of related and they're having fun. I don't want to waste my whole time focused on one disruptive pupil. If a child is really misbehaving there is always a professional teacher in the room who will take control of the situation (though I've not been in that situation so far).

Keep them interested - The first club I helped at, we didn't really know what to expect or what to do. Because of this, we relied heavily on the Code Club worksheets provided on-line. However, I don't think it was wise to rely solely on these. We found a lot of the kids would easily get bored or distracted and start misbehaving, whilst some of the other kids were just blindly copying the code without any thought or understanding. It also meant that people were at lots of different stages of the worksheets, with some kids three or four lessons ahead/behind the others. I have found a better technique is to pick one idea to teach that week, and to go through it with them step at a time. This helps to get every kid up to the same point, and I can ask them questions about why we're doing what we're doing, trying to get them to lead the way to the next step.

Different abilities - Another good technique I have found is to have the kids share a laptop or computer - aka pair programming! It helps keep them focused, and means if one of them has a problem, instead of asking the teacher they can ask their partner, resulting in mutual support!

Technical issues - There is always one or maybe two computers that won't turn on, the Internet isn't working, or some other technical issue. I find it incredibly helpful to have an assistant who is there to help teach, but also to help tackling these individual technical issues which can take some time to resolve sometimes.

Rewards

I find teaching at Code Club very satisfying, it's nice to see these young kids being interested in coding and (hopefully) learning some very useful skills that will help them in the future. It can be very fun to plan the lessons and create the games/challenges with them. Most lessons I come away inspired by something one of the kids has created or said, which feels very rewarding.

There are also self-motivated reasons to take part: I want to improve my teaching and communication skills, so what better way to practice, if you can take something complicated and make it understandable by 11-year-olds then you should be doing okay! What's more it means I can get out of work early one day a week and invest my time doing something very different from normal. It helps get a bit of perspective on what I do day-to-day, and gives me some breathing space away from clients and a hectic workspace. I would highly recommend getting involved!

Lesson Ideas

Although the scratch resources on the code club website are pretty good, I have found it better for the kids to work together led from the teacher rather than a worksheet. Here are some of my lesson ideas below:

Crab Chase

This lesson demonstrates how to choose a backdrop, shows what two sprites are, and how they can be controlled by mouse input. I used two methods to animate the sprites, the starfish always goes to the mouse-pointer, and the crab continually moves towards the mouse-pointer, simulating a chase effect. The crab sprite also has two costumes so you can alternate these every few paces to add more animation. If everyone completes this then I show some collision detection, where the crab announces a message, such as "Got you now" or "You've been crabbed" - I usually let the kids come up with their own (better) messages... There is also a score which continually increments until you get caught, then it resets itself. This introduces the idea of variables.

Play it here

Spider Bug

The premis of this game is a bit like classic arcade game Frogger. A sprite (spider bug) in this case has to make its way over the road and up the building, avoiding moving cars and an airplane. This demonstrates using different inputs - the keys on the keyboard - and creates events when those keys are pressed. Again it shows collision detection, and could also have a timer or more levels to make it more challenging.

Play it here

The Snowman

This is a bit like Flappy Bird or the Helicopter game. Use the space bar to float up, and avoid snowballs and icicles! Demonstrates variables (score and lives), cloning (the snowballs and the icicles), randomness and gravity.

Play it here

Category: education

Tagged: code club teaching