Code Club
This is an account of my first session as a Code Club volunteer and STEM Ambassador.  Prior to the children’s arrival, I look around the ICT suite. They have plenty of machines and one attached to a whiteboard, from which I will be demonstrating Scratch.

First, a note to re-iterate the importance of preparation: I thought I’d prepared quite well, but Code Club advises you to make sure you are familiar with the school’s equipment and network before the first session, and I now know first hand how important this is.  As the children were late to arrive, I could have used the time to ensure the machines were logged in and ready to start to get the class whiteboard displaying the PC’s screen, and that the sound was working on each machine. As it was, there was also a little downtime during the session while Scratch was located and started on each machine, and also locating headphones for their PCs. I plan to ensure I find out how to do this so that I can have the class ready to go as soon as they walk in next week.

Instead, while I wait I walk around the suite and look at the displays on the wall. Various ICT related topics, and pictures of various important computing figures through history with their names and a brief description of why they are important. I make a note of Countess Ada Lovelace, the first computer programmer; I figure I can use her as a direct comparison when I begin the first session: we are going to be like Ada and be computer programmers. This is irrelevant, because I later forget to use this reference when I start talking about what we are going to do!

As an aside, because I’m aware of low female participation in STEM subjects, I can point to the posters of Ada Lovelace and Grace Hopper should I ever need to give examples of women in the field.

Formalities and introductions

When the students arrive there are eleven in total according to the register, but two are absent for today’s session. They will be coming to next week’s club, I’m told. There are more students keen to sign up, but we’re limited by the number of PCs in the room. Of the nine that show up, five are girls, which I’m sure will please STEMNET. Unfortunately one could only attend this week’s club having taking time out of their usual Wednesday after-school activity. This is unfortunate, but I hope they get enough out of the session to get the “bug.”

While the teacher helps them all to log in and get Scratch started, I ask the various questions that the Code Club organisers are interested in. I find that of the nine that are there, they are all familiar with computers, iPads, iPhones, and other internet connected devices, but it appears one has no access to a computer or smart device with internet access at home. I make a mental note that they would probably require more help than the others.

I begin the lesson introducing myself and that I usually make websites, to which one student says “like Mark Zuckerberg.” Sadly not quite. I tell them that today we are going to make our own game.

First steps

I show them the cat sat there on the Scratch stage, and tell them its name is “Sprite1”, which as I’m sure they agree, is a silly name for a cat.  So, I want to change it. I get various names suggested, but in the end I tell them I will name my cat “Felix.” I ask them to name their own cats using the names they’ve suggested.

I explain that computers are wonderful things that can do lots of cool things, but they can only do those things because we’ve told them what to do. Which is why our cat is just sat there.  We’ve not told it what to do.

I show them the “Move 10 Steps” instruction. I ask them what they think it will do. They answer, but one astutely suggests that 10 steps might take the cat off the screen. I agree that this could happen depending on how big each step is. I crudely demonstrate this by physically taking 10 very small steps, almost a shuffle, in front of them.  I don’t mention pixels by name, but I indicate that the cat will be taking 10 very small steps across the screen like I just did. I click the instruction to demonstrate and they follow suit.

I show them that it would take a lot of clicks to move it from one side of the screen to the other, but we could change the value of 10 to 100. I ask them what they think will happen next, and they correctly predict the larger jumps.

I then suggest that we make it play a sound. The pretty unanimous request from the group is that I should make it play “Gangnam Style”, and I admit that if I’d had the file there I probably would have done! Sadly, I had to stick with a simple drum beat.

I explain that we now have two separate instructions on the screen. I then show them that we can link the two instructions together to make a script. I show them that you can duplicate the script block and add them together to make the cat move and play the drums more than once with each click. I explain that this still means we have to keep clicking in order for the cat to move to the other side of the screen, but it will do it more than once each time. I now show them a better way by introducing the Forever loop. They follow suit, and then quickly observe that with one click the cat reaches the end of the screen, and that the sound continues to loop, so I introduce them to the red STOP button.

I show them the “Start when green flag is clicked” instruction, and point out that the cat is sliding about; it would look much better if the cat walked. So, I introduce costumes, and the “Next Costume” instruction is added to our loop.

We now have a walking cat. I tell them that this cat is pretty bored just walking about, so perhaps we should give it something to do. The class all suggest we make it chase a mouse, which is handy…

So, with step one of the project almost complete, I hand out the worksheets, with the “simple” task of following the instructions in each step, and continue to make our game where our cat chases a mouse – controlled by the player.

I don’t expect it to be entirely plain sailing all the way through, particularly for the first session where both students and volunteer/teacher are finding their feet, but it has gone well up to this point. However, I can already see that some students are keen to explore the Scratch interface more, and this is where things start to descend into chaos. A number of the students get caught up at step two, wanting to change their mouse character to something else: a human, a car, a baby, or, having found the tool to create your own sprite, a self-drawn blob.
One student then decides that the cat chasing a baby isn’t realistic, so wants to swap the scripts around so that the baby chases the cat. They are right, of course, but if they settled on their choices and stuck with them they could already be on step three, rather than stuck on step two.

The other well-known thing about cats is that they “meow”, so one student asks how to do that. But this isn’t in the instructions! Stick to the instructions, students!

With 4.30pm fast approaching, I get them to save to the student drive on the network. A quick scan across the class suggests some have gotten as far as step four, while others are still stuck at step two changing the costumes while one sprite chases another. But, they all seem to have enjoyed the session, which is the important thing. Some ask if they can do it at home, asking if it’s free, and so on. They ask if they can take the worksheets home but as we’ve not quite finished the projects, we decide to keep the worksheets for next week, with the intention that they can continue it in the class. In hindsight, I wish I’d let them take the sheets home; we can always print off more just in case they don’t bring them back in next time.

I make an exception in one case: the student who specifically skipped their usual Wednesday club to attend, who won’t be able to make it next week. It seems they enjoyed it enough to want to continue doing it, despite their other commitments, which I am delighted with.

Observations and reviewing the session

  • Project length and hour long sessions – Probably due to the late start and slight downtime during the session, nobody in the class actually finished the first project, so I am aiming to get them all to finish it next week. For those who followed the instructions better and reached the later steps I will come up with some additional challenges to extend the first project for them, like making the cat meow when the cat catches the mouse. This will work equally well for babies catching cats!
  • Ability Levels – As expected it was mixed. Some raced ahead, others got stuck. Understandably for one, having no home computer did have an impact. It was a challenge to support each student at all levels, but what I found enjoyable to watch was seeing students helping each other. It does make me wonder if pairing up less confident students with over-achievers would actually solve both the problem of limited spaces as well as helping students to complete projects. As with real pair programming, talking to each other about the task usually helps deliver the answer quicker – two heads are better than one, as the saying goes..
  • Understanding of Scratch – I was impressed by a number of students who quickly grasped the interface, and made good assumptions and guesses about what each instruction or option might do – knowing that clicking on each sprite would bring up the scripts for that sprite, for example, credit equally to both the student and to MIT’s Scratch interface for being rather intuitive.  However…
  • The Ikea effect – Give someone a set of instructions and lots of bits to play with and you’ll find many people like to skip the instructions and jump straight into playing with it, only looking for help when they get stuck – In computing/gaming terms, this usually met by the abbreviation “RTFM,” but in a class full of children this isn’t really appropriate! After the session, the teacher likened it to getting flatpack furniture from Ikea, and that it demonstrates an important life skill: reading and following instructions. The alternative view that letting them get creative and figure things out for themselves is probably closer to the aim of Code Club. I sense that some would actually be more interested if you just tell them what the end result should be, and let them figure out how to get there.
  • Student numbers– Due to the number of students keen to join Code Club, we need to figure out the best way of reaching more of them. Some options discussed were:
    • More Code Clubs: two a week, run by additional volunteers.
    • Put them into teams of two or more, working together to complete each project, alternating control of the keyboard at each step.
    • Making Code Club sessions part of their ICT Curriculum while they have total control over it, once teachers have been given some training on Scratch.
    • Split the projects across more terms – instead of doing all three levels (three projects per level, a minimum nine week programme) the alternative is to do the first three projects for level one, then bring in the next set to do the same level. Assuming there is an attrition rate in the club, you merge the remaining participants in each group into one new group at the start of each new level.
  • Encouraging participation and recognising achievements – We’re keen to promote the achievements of Code Club through making it part of their ICT wall displays and certificates at assemblies, which will draw in more interested students, and demonstrate the club’s benefits to other teachers as well.
  • Absent students who missed the first session – I’m still not entirely sure how I will do this, but I need to bring them up to speed without impacting on the progress of the original students who attended the first week.
  • Things to take away from the session – Next time I would like to bring printouts for students to take home, with information on what Scratch is and where to find it should they wish to continue their learning at home.

Conclusion

The first session had more positives than negatives, and I think everyone who participated enjoyed it. I hope this means we will see a full class again next week. I’d also like to see Code Club reach as many students as possible. The disruptive influences, under-achievers and disadvantaged students in particular are the ones who could benefit most from these sessions, if it introduces them to something that holds their interest once given the chance. It’s important to ensure that they get the chance and the support they need so as not to become disheartened and disinterested in the club. With a little more preparation between now and next week, I look forward to the next session.

Finally, an interesting and slightly unrelated point: The ICT curriculum they are following has a module on Emailing, but they can’t teach this module because of student safety.  The irony is that given that student safety is actually quite an important aspect of the ICT curriculum, this is something that needs to be addressed ASAP.

Leave a comment

Your email address will not be published. Required fields are marked *