So I finally did it. After 2 years of teaching Code Clubs I finally started doing some Python with them. For a couple of reasons I’d not managed it previously. First of all getting Python onto the school computers was difficult for reasons I’ve discussed before. But also I wasn’t seeing sufficient mastery of Scratch to convince me that the kids would understand Python. But I went for it anyway, solving the Python install problem by using trinket.io/python instead of the installed version. I even let the kids all login to that site using the same account so they can save all their work, albeit in one big dogpile.

So how has this exercise gone? Well I began by using the Code Club worksheets. And to be honest they show evidence of the same concerns I had myself. This programming thing assumes a lot of prior knowledge. It’s hard and as a result the worksheets are a little too noddy. The kids quickly get bored of drawing a dog with ACSII characters because it’s much less engaging than the Scratch experience.

Given that the first couple of worksheets were so noddy I decided to start going through the worksheet with them on the big screen at the start of class. I did this for worksheet 2 – calculating your age. And it went better I think. I was able to throw some fun in by letting the kids guess (and be rude!) about my age. And it meant I could talk about stuff like the form of a function call and what a string was and so on. Some kids glazed over and some got it. And I should have been WAY more brief. But it worked.

So with some hesitation I recommend those wanting to start out teaching some Python should do so with some explanation and demonstration. Get the class sat down and do it in front of them. Talk to them and get them coding it with you. Then send them off to do it again solo. At least to begin with this seemed to get them producing working code. And best of all the accompanying teacher – you do have one of those don’t you? – sees what you’ve taught the kids and can help answer the kids’ questions.

Share this:

Today was my first Code Club for this school year. And I had all these big plans. If you’ve been following the blog you’ll have seen some of my thoughts on how I could make my Code Clubs better. And today I put a bunch of those into practice.

The code puzzles idea went great. I’ll write a separate post about that. But my big plans to have the kids all use Scratch 2 on the MIT website didn’t work so well. We started out by telling them that they had to create users on the scratch site – this wasn’t my original plan. I’d meant to setup users for them so they could just be handed a username and password as they arrived. That didn’t happen. Poor planning on my part.

But the big problem was the internet connection. It just wasn’t up to the job at all. I don’t know exactly why but sometimes the web responded and sometimes it just waited and waited and waited without ever sending data to the browser. And of course the computers are so locked down there’s no way I can get at a command prompt to diagnose the problem. My best guess is that there’s something upstream – probably a proxy server designed to protect the kids – that is overloaded and dropping connections. The school has a slow 1.7 Mb/sec internet connection but it doesn’t look like a straightforward bandwidth crunch. I’ve seen those and they’re annoying but they just go slow. They don’t stop.

So today’s club was a lot of kids struggling to create logins – a trial in its own right since most usernames are long since taken on the Scratch site. And a lot of kids staring at a blank browser waiting for the internet to respond.

Not the triumphant start to Code Club that I’d hoped for.

So I guess the message I’ve learned from this is don’t rely on schools having good internet connections. And this is a message for Code Club because I find a lot of what they produce assumes a great deal from the school’s IT that might seem basic to you and me but in school is not a sure thing. Things like access to Notepad. Or the ability to install Python. Or a functional internet connection.

Share this:

One of the things I’ve loved most about getting involved with Code Club Pro is that I’ve learned a lot about schools and classroom teaching of children. It’s a totally new world to me – I’ve never had any teacher training and I’ve never taught children before Code Club. So one of the problems I encountered in my first year was that some children will ask for help for every little thing while others will keep quiet. This means you end up spending all your time on certain more vocal children and that’s just not fair to the others.

One of my very good friends happens to be a school teacher and she told me about a technique she uses that I think would work great. She suggests giving the children 2 help tokens. They can ask the teacher for help twice and give up a token each time. After that – no more help. So they are encouraged, before asking for help, to try and solve the problem for themselves. That might be by reading, asking a friend or checking the board. If after trying to solve it themselves they still can’t progress then they use a help token and the teacher helps them. It’s a simple system that just might work. And it dovetails nicely with one of the key messages taught by Code Club Pro, namely that copying from a friend is not cheating when it comes to programming. That’s how programmers do things. They build on each other’s work. Pair programming is way that programmers share ideas. Shared code is another. And there are endless books and published articles explaining how complex problems can be solved in code. This is a key part of the programming world and we should encourage it.

Share this:

One of the attendees, Simon I think, on my Code Club Pro training day was a teacher and he explained something to me that seems obvious but really got me thinking about how I help my Code Club kids when they have a problem. He said that whenever kids get stuck in class they immediately put their hand up and ask for the teacher to come and solve the problem for them. The same thing happens in Code Club of course but if we go over and debug their code so that it works what have we taught them about debugging?

One way to debug code is to try explaining it out loud to a rubber duck. It doesn’t have to be a rubber duck of course – it could be anything. The key is to explain out loud how the code works. Often when I’m trying to debug a knotty problem I call my wife over and explain it to her and in the process I end up realising what I’ve done wrong. She rarely has to even listen to what I’m saying but she’s kind enough to pretend. 🙂 So I think this idea combined with a proper stand-up teaching session near the start of term that explains to the kids about debugging and dry-running code in your head should help a lot with the volume of questions I have to attend to.

How about you? Are you deluged with questions from the beginning of a your Code Club sessions to the end? Do your kids solve problems for themselves? Isn’t that exactly what Code Club is trying to teach them?

Share this:

It’s a BIG part of the joy of Scratch that the kids can show off what they’ve made. Too many schools are using the offline downloadable version of Scratch and never letting the kids upload them to the Scratch website. In some cases they don’t know they can and in many cases the school networks block those uploads. In both my Code Club schools the kids can’t open a browser window at all or even run Notepad! The computers are so locked down they’re near useless. Fortunately there’s a sneaky hack that lets you get a browser by typing a URL into the file explorer so we’ve been using the Scratch website that way but since we started doing that we’ve run into ANOTHER problem. The kids can never remember their usernames and passwords. So next term I’ve got a new plan. I’m going to create a bunch of usernames and passwords for the kids and hand them out at the start of term. They’ll be random names and passwords – nothing that can identify the kids themselves. And most importantly I’ll keep a copy of what they all are and who I gave each one to. So that when they come and say, “I can’t get back to my work from last week cause I can’t login”, then I’ll be able to help them. I’d *like* to be teaching them good practices for logins and passwords but the sheer number of kids having this problem was preventing me teaching them programming.

How about you? Have your kids been using the Scratch website or the downloadable version? Do your kids ever share and show off their work?

Share this:

So Code Club is about teaching kids programming. Code Club Pro is about teaching the teachers so that they can teach kids programming. Cool right? You might have heard that the government last year put coding on the curriculum for primary schools. This was at the strong urging of a number of high profile tech companies and many teachers have regarded the meagre instructions they’ve been given on the subject as somewhat lacking. With good reason.

But if you dig into the new curriculum that covers computing you’ll find that it’s very carefully worded and some of the stuff in there is rather wonderful. Schools now need to teach not just how to use computer software but computational thinking. Real analytical and problem solving skills that translate into way more than just computer programming. But how are those teachers that might never have written so much as a single line of code supposed to teach this stuff? That’s a very fair question and I can totally understand why teachers are worried and annoyed about it. That’s where Code Club Pro aims to help.

Code Club Pro is kicking off with 4 courses that cover demystifying the new computing curriculum, Key Stage 1 (years 1 and 2) computing, Key Stage 2 (years 3, 4, 5 and 6) computing and the Internet. Schools contacting Code Club Pro can post to say they’d like a trainer to come to their school and give one or more of these presentations and then trainers like myself can browse those requests and get in touch with the schools to arrange the training. There is a small charge for the school and a small payment for the trainer but this really isn’t big money we’re talking about.

The courses are aimed really clearly at teachers and trying to show them that the new curriculum is not so scary and that it really can be taught in primary schools by teachers that might have no experience of programming at all. Much of computer science can be taught without ever touching a computer and Code Club Pro aims to give teachers the tools, the knowledge and the confidence to do just that.

This is all kicking off right now. It should dovetail nicely with the start of the new school year. I really hope many other Code Club volunteers will agree that we can help more than just the kids. And if we can help the teachers then ultimately we grow our army and reach ever more children.

Share this:

I’ve written a few code club improvement posts so far. If you’re running a code club I’d love to hear your thoughts on how they could be improved. One of the problems I’ve had is that some kids go really fast and some go slowly. It’s hard to keep them all up to the same point on the worksheets. So I had an idea for long term projects that the kids could work on when they’ve finished a worksheet. This is the functional equivalent of busy time or golden time I guess. This long term project would involve designing their game, drawing out how it will look and so on like the Design a Monster project. I love the idea of having the kids go through the design phase before starting on coding or graphics production. My plan is to have them write this stuff down and then we can assess what they produce against what they wrote down in the design.

I welcome your thoughts on this and all my other ideas posts. Code Club is already a *wonderful* thing. I think we can make it even more wonderfuler!

Share this:

Time for another idea about how I might improve my Code Clubs next term. I’ve explained that I’m concerned that the Code Clubs encourage kids simply to copy the code from the worksheets – not so different from when I was kid and we typed in programs from magazines. But even so I don’t think it encourages the kids to understand the code so I’m planning on some kind of weekly puzzle. I’m going to try and produce a series of little chunks of code for the kids to look at each week. There will be a question to go with them along the lines of, “What does this code do?”, or, “Find the bug in this code”, or, “What would I change to make this run 5 times then stop?”. I’d like to give a reward (Haribos probably) to those kids that try to answer the puzzles. I don’t know if this is a good idea or not. I welcome feedback from those of you with more teaching experience about whether that might be divisive.

Share this:

I had a blast running my first year’s code clubs. I learned SO MUCH from doing it and I hope the kids got a lot out of it too but I really think I can do better. First of all a lot of the Code Club materials this time around encouraged simply copying the code from worksheets. This is fine to begin with but we really need to focus more on teaching the kids about how a program works. Some of the concepts that really need explaining are:

Sequencing – programs are executed line by line starting at the top and working down

Branching – Simple if statements

Looping – Repeat, while and for statements

Debugging – how to dry run a program in your head so that you can figure out what’s going wrong

There’s a lot more than this of course but if I could get all my Code Club kids to understand these 4 things I think we’d be off to a hell of a great start.

So this coming term I have a few ideas of things I want to try. First of all I want to spend more time in front of a white board talking to the kids and showing them some of of these concepts and, hopefully, getting them to explain them back to me. I started this stand-up teaching approach last term with my Flappy Bird project where I explained the algorithms to the kids before we got into turning it into code and even then I tried to give them pseudo code.

I’m still brainstorming but I feel like there’s a lot we can do with this Code Club concept. I’d really welcome your ideas!

Share this:

I’ve just finished my first year running 2 Code Clubs and I’ve learned a huge amount. I’ll talk about that stuff in other posts but today I’m feeling a little down. Because now that my Code Clubs are done for the year I’ve got to let my kids go. Some of them are off to big school next year and I can’t keep in contact with them. I have to let them go and I’ll probably never get to know if any of them carry on programming in the future. It’s a little sad. It must be something teachers have to deal with every year.

You might be wondering why we can’t keep in touch – why we have to break contact. Why can’t I just give them my email address you might ask? Or add them as a friend on Facebook? Well for very solid reasons those aren’t a good idea. As teachers, mentors and adults we have to keep a slightly professional distance for their safety. And that’s really hard. It’s one of the things I was told when I took my STEM Ambassador induction training, though, and I accept it. I need to read up more on this aspect of working with children to really understand the why. But for now it’s hard because I’m a dad and it’s natural to want to know that kids we’ve grown to like are going on to great things.