Computing – A beautiful dream

I didn’t believe the hype on the news about bad teachers. I mean, nobody I worked with was rubbish at their job so I put it down to teacher bashing media nonsense and got on with my life. I was happy to share my resources here and on CAS and to help people who asked for my help, because I understood I was part of a community where educated people treated each other with respect, were friendly and acted with professionalism. I understood that the government’s changes to my subject had taken some unawares and that there were people out there who needed support and help with transitioning to teaching a new subject and I would give whatever I could to help them. I was enthusiastic about anything and everything to do with teaching Computing, making new friends and building a network of people I hoped would be mutual supporters.

And then I woke up from a beautiful dream.

It’s now one year on from the introduction of the new Computer Science curriculum and my eyes have been well and truly opened to some of the nasty truths that are out there, lurking in my profession.

Asking for personal help

Having been a CAS Master Teacher, I have got used to people asking for things. People asking me to come to their school, to give them a scheme of work, to advise them on XYZ. Now don’t get me wrong, I’m a strong advocate of openness, sharing and collaboration but generally when you collaborate and share both parties are meant to benefit. This sounds more like one of those dogsbody jobs that you try to get inexperienced people to do by telling them “it’ll be good for your CV” (ha ha, sucker!). Yet, this is apparently now a totally fine thing to do. Master Teachers are meant to help people in their area, they are not your personal scheme of work slave. Last week I had two emails from random people who don’t live anywhere near me, who I’ve never met, asking for pretty specific advice about teaching Computing. Working with someone with the outcome of mutual benefit for both parties is fine, even if the benefit for one party is just the satisfaction of helping someone. Expecting people to do your job for you is not fine, it’s embarrassing.

Not improving subject knowledge

CAS runs events to help Computer Science teachers get to know each other and to connect with industry pros, many of whom are very willing to help (and it’s important to let industry know how to help!) I went to a hugely helpful session a few weeks back where a local teacher shared his experience of GCSE Controlled Assessment. How many teachers turned up? 3. How many teachers say they need help yet never seem to be able to turn up to a training course or meeting? I’ll leave that as an exercise to the reader. It’s totally unprofessional and unacceptable to not have the subject knowledge you need and yet to do nothing proactive about it. If you really care you’ll make the time – as demonstrated by many amazing teachers who have gone from zero to awesome and are now helping others.

Breaking copyright

Now on to the PG Online resource copying scandal. Apparently, 1200 people were members of a Facebook group where people were illegally sharing paid PG Online resources with others. I know how long it takes to write resources having spent my entire summer holiday last year writing A-Level resources for Cambridge Press so I can imagine how much of a blow this must be to the people running PG Online. Have we really got to the stage where some teachers think it is OK to break the law? Anyone else find it totally ironic that copyright law is even covered in the things we teach?! Not cool, Computing community.

Failure to respect Creative Commons

So do free resources fare any better than the paid for ones? No! I thought part of being a teacher was the craft of putting together a series of lessons, planning out what you were going to do and how your students would progress. Arguably this is even more important if you’re not as confident in the subject matter. Yet all I see is a feeding frenzy of people after a quick fix, endless “can anyone send me a scheme of work for X” posts and a flagrant disregard for Creative Commons. Here’s an example – a resource was removed from CAS by its author, presumably after many complaints from people whose work was reproduced inside it without acknowledgement (this was later fixed). In the comments section, do we see upstanding members of the community reminding each other that plagiarism is bad (more irony here as we teach this too) or do we see comments like

“Why has it been removed? I had already downloaded it some time ago. Anyway it remains available in the resource history”


What! So instead of acknowledging that people who poured hard work into something deserve to be credited as authors and it is wrong not to do so, some of the people in my profession are actually more interested in screwing over the people who make the resources they use by telling others the ‘back door’ way to get at the unaccredited material. Thanks guys, really feel you’ve got my back. How is the outside world expected to take teaching seriously as a profession if we don’t respect each other’s right to be acknowledged for our work?

Yeah OK it’s a rant ;)

I know that people always say I rant in posts (which is mostly because I only remember to do a blog when I’m seriously cheesed off). However I think we as a community need to make a stand and say ‘not cool’ when this kind of thing happens. Behaviour like this is burning out the good will of so many good people who want to help, and it makes me embarrassed to have the same job title as someone who makes a total mess of teaching the subject I love. Please stop doing this. I don’t want the media to be right.

Javascript Binary to Denary

I wrote this but I am not sure I can use it for the purpose I wanted. Feel free to use if it’s useful to you!

input[type='text'] {
   font-size: 24px;
<script type="text/javascript">

// A quick and dirty binary to denary converter in Javascript
// I wrote it to use with Year 9 students but not sure it meets my  
// objectives, so here it is for you!
// By @codeboom

function generate_denary(form) {
// Generate the denary number by multiplying the digits by their place value and adding together
   var denary = 8 * parseInt(form.first.value) + 
   4 * parseInt(form.second.value) +
   2 * parseInt(form.third.value) + 
   form.denary.value = denary;

function generate_binary(form){

   // Reset the form if they tried to enter a number we can't make with 4 bits
   if(form.denary.value > 15) {
      alert("That number is too big to make with 4 bits!");
      form.denary.value = 1;
      form.first.value = 0;
      form.second.value = 0;
      form.third.value = 0;
      form.fourth.value = 1;
   else {
      var binary = "";
      var current = form.denary.value;

      // Repeatedly divide by 2, see if there is a remainder
      // and store it as the binary digit
      for(var i=0; i<4; i++){
         var digit = current % 2;
         binary = digit + binary;
         current = Math.floor((current - digit)/2);

      // Set the values you worked out into the boxes
      form.first.value = binary.charAt(0);
      form.second.value = binary.charAt(1);
      form.third.value = binary.charAt(2);
      form.fourth.value = binary.charAt(3);


<h1>Binary number</h1>
<input type="text" name="first" style="width: 50px;" maxlength="1" onchange="generate_denary(this.form)">
<input type="text" name="second" style="width: 50px;" maxlength="1" onchange="generate_denary(this.form)">
<input type="text" name="third" style="width: 50px;" maxlength="1" onchange="generate_denary(this.form)">
<input type="text" name="fourth" style="width: 50px;" maxlength="1" onchange="generate_denary(this.form)">

<h1>Denary number</h1>
<input type="text" name="denary" onchange="generate_binary(this.form)">


Computing – Pitfalls of a new subject

I read a really good article the other day which compared learning to program to leaning to read and write in the middle ages. It goes on to give two good criticisms of the accessibility of programming to students. Firstly, setting up and choosing your language and environment is a lengthy and difficult process. For the most part, I make the decisions on behalf of my students about what language we will learn and what IDE we will use, but that’s largely because I have a degree in Computer Science. Many teachers are not in this position and rely on the experiences of others to make the choice, and are often ludicrously limited by what technicians arbitrarily decide should be “allowed on the network”.

Secondly, students are often taught programming for programming’s sake, and they find it hard to understand why and when they would actually want to use this knowledge. I totally get this one. I remember age 15 or so buying a book about JavaScript and expecting to learn how to make all manner of cool web stuff (read: stuff that was cool in the 90’s), and then feeling minorly cheesed off that it covered basic mathematical operations and alert boxes for about the first 10 pages.

I feel that encased in the first term’s worth of “oh no I have to teach Computing and I don’t know what I’m doing” panic, people are in danger of losing the plot and falling into these holes. Here are my top tips for avoiding the pitfalls I’m observing at the moment:

Share the point with the students

DON’T: The students need to and deserve to know why they are now being taught Computer Science. The answer is not “because I said so” or “because the government said so”;)

DO: Remind them of how often they use a computer, including devices they won’t even consider to be computers. Show them what they could do with the things you’re teaching them – my students love it when I tell them they could make money making web pages using the skills I’m teaching them right there right now. Make them part of your “in crowd” by helping them understand things they’ve seen before (did they know there are 10 types of people in the world?) And if you can’t persuade that one annoying “but I don’t want to be a programmer when I grow up” kid, you’ve still won because being able to create programs is just totally amazingly awesome.

You are not the most important person in the room

DON’T: Fall into the ‘sage on the stage’ trap. Your objective should not be to make yourself famous online by boasting about the most fantastico wizz bang lesson you’ve done with 15 ipads, a lego mindstorm kit and a tweeting skunk. I really don’t care how many Christmas cards you got or followers you have on Twitter.

DO: Your job is to craft your lessons so that every one of those people in front of you is able to discover the coolness of Computing for themselves. Not all of them will love it, but that’s OK. It’s not a popularity contest, it’s mainstream education.

Step away from the budget

DON’T: Reach for the departmental credit card and order some scheme of work from the first leaflet that flops into your pigeon hole/ go on a course because it’s held in the nicest looking hotel / order a set of books from the rep with the coolest hairdo etc. STOP PANIC BUYING. A lot of these companies are fearmongers who can smell your terror and want to use it to pry your school’s money from your stressed white knuckled hands. I have had a lot of marketing thrown at me this year, and I’d say about 10% of the things on offer were products I actually thought were good value for money, would result in good lessons or were something it wasn’t worth producing myself.

DO: You’re a trained teacher – you know how to produce resources, you know how to teach, you’re a professional. Take a deep breath and go and have a good look at all of the free stuff that is out there to help you – lots of it is really good. Don’t write it off because it’s free.

Everybody likes to be appreciated

DON’T: If other teachers have been kind enough to share their stuff to make your life easier, the surest way to piss them off is to copy and paste their stuff into your own document, plaster your own name on it and post it on CAS as your own resource (or with a blasé “I got some of this stuff from some other people, thanks xoxox” declaration somewhere in size 8 font).

DO: If someone made a nice resource, drop them an email and say thanks – you’ll probably make their day and end up with a new and very useful teacher buddy!

The point of the task is not to accomplish the task

DON’T: I’ve seen teachers get so enthusiastic about the end result of a programming task that they forget that the whole point isn’t the result, it’s the journey. If I set a task, let’s say I asked students to write a quiz program, it is not because I really need a quiz program in my life. If I need a quiz program I will write my own quiz program. (Well, actually I’d probably Google one.) The point of the task is the THINKING process that the students need to go through to get to the end product. There is no point setting tasks where students essentially copy out code because you’ll end up with a class set full of identical programs and no one any the wiser.

DO: Set tasks as a scaffold – something interesting to do that also covers the things you are trying to teach. Sometimes students will spend an hour doing their homework and will not come up with the answer – this is perfectly OK. If they are having trouble, make it a default behaviour for them to note down or explain to you/a friend the things they tried to do in their program and why they think their attempts didn’t work. Not completely finishing a program perfectly is fine, as long as they learnt something along the way.

Hands up who likes PHP?

(Clarification: I’m a UK high school teacher. “School” in this post means high school, not university and “IT Professionals” is the term used to distinguish those who are not teachers on the forum in question.)

On the miffed-off-ometer, I’d have to say that I’m getting quite close to a 9 with some of the CS Education community of late. The CAS Community is a forum for teachers and IT professionals with an interest in Computer Science education to get together and discuss whatever they wish. As we all know, the Computing curriculum is changing rapidly at the moment and there are a lot of questions being asked on the forum by puzzled teachers, wanting sensible classroom related answers.

rollerderbyHere’s an analogy. I’m learning to play Roller Derby at the moment – for the purposes of this analogy the only thing you need to know is that it’s a sport played on roller skates. My coaches do not come up to me and tell me how the skates I’m using are sub-optimal because the wheels are 96a and I really should have a mix of 93a and 88a for my build, the cushions will make my skates squirrelly, my plates are too rigid and I really should tape my toes and double lace because that’s what all the people playing in the big leagues do. Unless you already play Roller Derby, you probably won’t even understand any of what I just said. Sadly, that’s exactly the type of advice that teachers often get from industry pros – the advice is all true but super unhelpful to someone who is only just learning how to skate.

There are a lot of common misconceptions that IT professionals seem to have about CS education, so I thought I’d address some of them here:

Misconception #1

It is a school’s job to churn out students who will be able to walk into a job in industry on day one and work in whatever language/paradigm is flavour du jour.

WRONG! We’re here to teach children the core concepts of Computer Science. Working on that basis to produce someone with employable skills is your job. Do you expect Chemistry students to walk out of school ready to begin work in a lab? Should we stop using Scratch as a teaching language because nobody programs with it in industry? Of course not, so please stop recommending that we should be teaching using Scala/JSON/whatever is currently flavour of the month. It is simply not possible for teachers to be able to keep up to date with the latest flavours in industry. It’s sad that some people label teachers as ‘unprofessional’ for not being equivalent to someone in industry with their subject knowledge – but if you think about it, that’s like asking us to do two jobs at once. We hardly even have time to do one.


Misconception #2

Kids should start off learning the right way to code with an unforgiving programming language, so they don’t pick up bad habits that have to be undone later. (i.e. PHP is beyond reproach)

WRONG! When we teach kids French do we begin with teaching the subjunctive tense  – it’s really difficult but that’s how a French person would say it? Every time they confuse the passé compose with the imperfect do we get on their case nitpicking at their grammar? Of course not. We start with the present tense and useful sentences that mean something to them. OK so if you went to France you may not be able to pass as fluent but maybe saying something basic is better than saying nothing at all and getting disheartened and giving up.

I really have no time for developers who go on about how we should be teaching lambdas or mutability or tail recursion to 12 year olds or that kind of high horse gubbins. A lot of developers seem to have absolutely NO CLUE at what level students work at each age – please, educate yourself, visit a school and instead of looking for faults, just look and listen. Just because YOU had to learn a programming a certain way in the good old days, doesn’t make it the right way or the only way. People used to have to use tin baths, read by candlelight and clean their clothes with a mangle.

It makes me happy when a student writes a program on their own that works and that they are proud of. So they could have used a switch instead of lots of ifs. So they could have put that part inside a function. So their program doesn’t handle exceptions gracefully. SO WHAT. Computing A-Level students are already as rare as hens’ teeth. If we start forcing younger kids to use unfriendly mean programming languages that require 16 lines of set up to get Hello World just because some developer likes that language’s implementation of scoping, there will literally be nobody left to teach.

Oh and by the way, getting a language set up for students to use on a computer is no mean feat either. Some schools have technicians whose favourite phrase seems to be “Computer says no”, some IDEs are not free, the fun is endless.


Misconception #3

A teacher who doesn’t have up to date flawless subject knowledge isn’t fit to stand in the classroom.

WRONG! I find it incredibly rude that so many industry people seem to secretly think that they would be the saviours of CS education, if only they weren’t already occupied as a developer. Wow. Two things I have to break to you:

  • I know less than you about Computer Science
  • I know more than you about teaching Computer Science

Yeah, I said it – I know LESS THAN YOU about Computer Science. I haven’t got a clue about the latest GPUs, lambda calculus is a distant memory and when I explain networking protocols there’s more fudge than a Devon tourist shop. I’m not saying I teach things that are plain wrong or that I don’t take care with my lessons, I’m saying that I know the basics but you probably know the whole picture. This is not a competition about who knows the most about Computer Science.

Quite frankly, you could be Alan Turing himself but that wouldn’t mean you know the best way to teach a child. I’ve gone through a postgraduate qualification and nine years of experience to get to where I am, so don’t presume to know more than me about how to teach children – and if you do, expect that I will be justifiably miffed. Some teachers may ask for help with subject knowledge, but they don’t need a show off who has the arrogance to assume they could do that person’s job better than them. Going back to my Roller Derby analogy, don’t be the guy who skates around really fast doing all kinds of tricks when all the beginner wanted was to know was how to stop.

I know I probably sound a bit peeved in this post (because I am) but I hope it’s also useful to any developers who read this and who are genuinely interested in CS education. We do value and respect your help, but please respect our professionalism – you’re not just someone who could be doing our job but chose to do something else.

Being a 21st Century Teacher

So I’m applying for the Picademy – two days of visiting Raspberry Pi towers, meeting cool people and fiddling around with a tiny computer – sounds good to me! One of the requirements for the application is to write a blog post about “Being a 21st Century Teacher”…which is actually quite a tricky topic to write about, especially when you haven’t blogged in ages!

As I mentioned in a previous post, possibly the most irritating thing you can say in passing to a teacher of Computing and ICT is how hard it must be to “keep up with the kids these days”. It’s simply not true, even for the least experienced teacher of Computing, that what we are doing is simply keeping up with the kids. Learning about the principles of Computer Science is very different to fannying about on 2048 and tweeting a selfie. Possibly both equally mystifying to most over 50’s, but definitely not even remotely similar. As a 21st Century teacher, getting past this perception is one of our challenges.

As a 21st Century teacher I also feel that our professionalism is assaulted on all sides – the media complains of ‘lazy teachers’ and claims abound that we need industry to “step into the breach” to teach children the skills they need to progress in the tech industry. There is a huge need at the moment for CPD for teachers and a huge amount of teachers are acting incredibly professionally, spending their own time and money on improving their skills so that they can use their wealth of pedagogical expertise to teach the next generation Computing skills. Of course schools need to work together with industry, but industry also needs to realise that school is a grounding in all subject areas not a bootcamp for churning out their ideal employees. School will never be a replacement for training, and even the most experienced teachers can’t teach ALL THE THINGS. So, one of the things I must do as a professional educator is to ensure I am sufficiently up to date that I am teaching my students concepts which will be useful to them. It’s no good teaching these concepts with tools that went out of date 8 or 9 years ago when I first started teaching, just because I can’t be bothered to update my scheme of work. (On that note, would somebody put a stake in Access already?!)

And this is why I’d like to go to the Picademy! Yes, I have a degree in Computer Science, I can program, I’m already teaching Computing and I run training for other teachers. It would be easy to become complacent and spend my entire holidays playing Hearthstone. (Oops.) However, every time I go to an event, run training course, go on a course or check my Twitter, I learn something new. I see something someone else is doing and I’m not. I’ve lost count of the times people have come to me for training and I’ve ended up learning about something cool from them too. I’m also a big fan of sharing things – at the end of the day, if it means more children get a better education then that makes me happy :)

The real Computing in an Hour

OK, so the week before half term I had another of those moments where I found my mouth saying “ooh, let me volunteer to do all the things” while my head was screaming “IDIOT! You’ve already got too much to do!”. I’m pretty sure I have shoulder angels and demons. (And maybe a theme tune.)

In the wake of BETT we seem to have spawned several fairytales in the world of Computing:

The Pied Piper of Hamlyn – Those leaflets which frequently flop onto my desk advertising extremely expensive training materials to solve all of your September 2014 Computing woes. Blindly purchase a fat folder of lesson plans and (wooh, so 2008) an interactive CD-ROM and suddenly you’ll be able to switch off your brain and just read off the lovely pre-made lesson plan.

Superman – Is it absurd? Do you have a brain? No? Then let’s all just sit back and wait for developers from industry to save us! Because obviously they are all going to be there 24/7 to help us out of sticky Computing situations and not totally busy at work. Thank goodness for that.

The Emperor’s New Clothes – The emperor paid a shed load of money to go on a really impressive sounding training course because he was scared he might not be able to teach Computing in September. Sadly when he got home he realised he was naked. Go figure.

But seriously, we have a massively awesome resource here – IT’S US!

We’re the experts, not the developers, pre-made lesson plans or rip off training courses. Teachers on the ground doing the job every single day are the best resource humanly imaginable to other teachers because we know what we need to know to be educators. Even if you’re sitting there thinking “I don’t have a background in Computing” or “I only know a little bit”…IT’S STILL YOU! *Cue huge Lottery finger pointing from the sky* You can pass on what you’ve learnt so far, your tips, your pitfalls, your knowledge is all valuable. I remember reading Mark Clarkson’s Unofficial teachers guide to GCSE Computing (which, ironically, now looks semi official :P) and being totally blown away by how awesomely helpful it was. Mark’s been there, done that and as my mum would say, got the tea towel. We need more of this – we are professionals with valuable skills and I want that to be acknowledged for all of us.

Computing in an hour

I would like as many people as possible to volunteer their experiences of how to teach a topic (or if you’re keen, multiple separate topics) in the new programme of study. I want this to be you passing on your experience – including the bad bits – to other teachers, almost like a mini training course. You could even set them activities! BUT the key point is that your whole bit of advice/activities for the teacher on each separate topic should not take them more than an hour to read through and understand.  I don’t want to restrict your creativity so I’m going to suggest some headings, you don’t have to use them all:

  • Which one topic have you chosen? (Please do topics separately rather than giving one hour’s worth of advice on lots of things)
  • Which key stage are you aiming at?
  • What do you think are the main points to be learnt in this topic?
  • Can you give an adult friendly explanation for teachers who may be unsure of what the topic is about?
  • Where can you find specific good resources for this topic?
  • What progression can be made through key stages in this topic?
  • What sorts of questions could you ask students to test understanding?
  • What have you found hard when teaching this topic?
  • What misconceptions have the students had?
  • What do you think might be good activities for students to do?
  • Have you got any activities for the teacher to do? (And answers?)
  • Top tips?

Ideally we will end up with a big set of advice for teachers where each part can be read through in an hour or less – because who has loads of spare time anyway?

Submit your “Computing in one hour” advice here

I will collate your work along with your name, 200 word bio and pic (optional) and publish it so that other teachers can use it. By submitting your work you agree to license it under the Attribution-ShareAlike Creative Commons license (some useful FAQ’s about that license here) so that it is as open as possible and can be shared with as many people as possible.


I’m a Excelebrity, get me out of here!

Yes, I actually did it. excelebrity

Twas the night before Year 10 IT class and all through the house,
All the teachers* were starting to whine and to grouse.
“It’s spreadsheets”, I grumbled – I taught them with care
But the knowledge and recall, it just isn’t there!
The students were nestled all snug in their beds,
While functions and spreadsheets danced round in my head.

I’d been on to Twitter and I’d had a good natter,
So I started to realise just what was the matter –
The students were bored with just adding up cash!
So booting up Windows, I flew like a flash!
I got up so early, twas barely a nap,
I’d had an idea – they all watch this (programme)!
Making my tasks, ideas started to flow,
Using “I’m a Celebrity” all’d want to know!
I thought my old tasks were so thoughtful and clear,
But the Bushtucker trials made them swallow the fear.

Complete the green boxes and you’ll get a star,
They all got so focused they got really far.
More rapid than eagles the answers they came,
And they all used the functions, and called them by name:
“Now, AVERAGE()! now, ROUNDUP() ! now LOOKUP() and MIN()!
On, IF(), MAX(), RANK(), COUNTIF()” They wouldn’t give in!

Some looking at helpsheets, some winning with stealth,
And I couldn’t help smiling, in spite of myself;
For a class that had started off saying they’re beat
I just couldn’t stop them all trying to compete.

I put them in pairs and they went straight to work,
They filled all the cells, then they turned with a jerk,
As the bell then went off for the end of the lesson,
They all wanted to know just which team was the best one;
For my box of mint Matchmakers they were all yearning,
But the best prize of all was the fantastic learning.
And I heard them exclaim, as they walked out of sight—
“Excel’s not that bad”   “Yeah,  I think it’s alright.

(Here are the Bushtucker tasks: Help Cards / Intro / Bushtucker Trial 1 / Bushtucker Trial 2 / Bushtucker Trial 3 / Bushtucker Trial 4 / Bushtucker Trial 5)

Happy Christmas!

* Technically that’s just me.

Who’s teaching our kids to code?

So I just saw this article tweeted by @ukiekim and written by @calflyn. Admittedly having been written in October 2012 it’s a little bit old but still relevant. The first picture caption I spotted was:

Computer programming: It has fallen to the industry itself to step into the breach, and provide support for those keen to qualify for a career in IT.

Ok. Great. That sentence basically says to all Computing teachers in the UK “hey, you’re so crap at your job that we can replace you with someone else on a voluntary basis for a few hours a week”.

Is this really a good thing to say? Is it even true?

1. Some schools are already teaching programming and doing a damn good job
Yes, it’s true. News articles mysteriously fail to notice the vast amounts of good teachers and good schools already offering GCSE or A-Level Computing. According to the Guardian’s data, 3809 students sat A-Level Computing in 2012 – and considering classes are not usually very big, that’s a fair amount of schools. There was no data on GCSE Computing as it’s a new qualification but I would estimate many thousands of students will sit that examination this year. We’re here, we’re doing it. Some of us even have Computer Science degrees.

2. Running a club is not teaching
So us teachers are doing such a poor job that an IT pro has to come in after school once a week to do the real work to teach the kids in the UK who are being left behind and held back by their dreadful teachers. I hate to break it to you – this isn’t teaching. This is cherry picking students who are motivated and interested and showing them how to do something they want to do. If all of teaching was like this, everyone would want to be a teacher. It’s like the grandparent version of teaching – you take the kids for a short time, hype them up, feed them sugar, bend the boring parents rules and then hand them back when it’s time for the nappy changing and all the other not so nice stuff. There are no targets to meet, no curriculum objectives to follow, no reports to write, no sanctions to apply.

Don’t get me wrong – I *really* approve of initiatives such as Code Club and Apps for Good – they are great! Lots of kids enjoy them, lots of teachers learn from them and the professionals are generous in giving up their time – a win all round. I just don’t like the way the media portrays after school clubs as the saviours of Computing in the UK, whilst the helpless teachers are presumably languishing in the store cupboard drinking piña coladas.

3. What’s going to happen when the pros are bored?
Picture this – it is some years from now. Lots of initiatives have been set up to provide supplementary coding education in after school clubs, and are working. The subject of Computing is largely dead because it is being covered outside the curriculum and therefore valuable curriculum time is taken over by other subjects. No teachers are training to teach Computing because there are no jobs available, and besides who wants to do a job where everyone knows someone doing it in their spare time is better than you? Helping kids code is no longer de rigueur, so the devs have stopped doing it. Who’s going to pick up the pieces?

So what should happen instead?
It’s true that not all IT and Computing teachers in the UK at the moment have the right skills. (It’s also true that this isn’t their fault!) Instead of barging in and taking over with all sorts of shiny initiatives, it would be much more valuable to teachers who don’t have a Computer Science background if IT professionals would support them – both publicly and practically. Teachers really don’t need other people ‘taking over’ their job because they are inept – obviously this isn’t actually happening, but the way it is portrayed in the media, this is what it looks like. They need to be able to say “I worked with Dave from Company X and we drew up a scheme of work using my expertise in teaching and his expertise in programming. We’ll run it together next year and the year after I hope I’ll be able to run it on my own.” Now that would be really valuable.

If companies genuinely want to make a difference and find a long term solution rather than just getting some warm and fuzzy PR, how about asking “who’s teaching our teachers to code” instead?

The most valuable resource of all

So we all know that at the moment there’s a problem with a lack of availability of qualified Computing teachers. There is a huge push going on to train people up to take on this role and improve their skills, and this training is in large part coming from teachers who already know what they are doing. We also know that the Government is trying to introduce performance related pay for teachers. You might be thinking “what does this have to do with you, you work in an independent school?”. It’s going to have severe consequences for the most valuable resource of all.

It appears that in the age of social media and pervasive technology, we have developed something unheard of even a few years ago – the concept of the ‘rockstar teacher’. This is someone who considers that they know what they are doing in the classroom AND goes out of their way online to promote themself, blog, put up resources, cultivate twitter following, is probably invited to speak at a lot of events and has lots of people kissing their butt and telling them how wonderful they are. (Sorry, I said it. It’s true.) Speaking in the field of Computing, there are certainly a few rockstars and a few who are trying to set themselves up as such. No one, not even me, is immune. I like it when people appreciate my resources or say nice things about me – who doesn’t?

Most of these rockstars seem (from my limited knowledge of them) excellent teachers and do indeed do very good work – that’s not my gripe. For a while, I did think it was pretty much a good thing – let’s all share our stuff and raise the profile of Computing and if we all work together we can make this subject a real success. But this model doesn’t really work, and it’s being further perpetuated by the government’s policy – in the words of John Tomsett:

Whilst the rhetoric from Michael Gove is collaborate, collaborate, collaborate, DfE policy-making encourages competition at every level.

As a teacher with a CS degree who already knows the subject, for me it has become increasingly stressful to have to keep up with all of the extra ‘things’ I feel I have to do to set myself apart as a competent teacher of Computing – writing articles, running courses, creating resources, speaking, running workshops, having my own ‘thing’ that people know me for. It does annoy me that a lot of being invited to do high profile things is on the basis of who you know and how easy it is for lazy media researchers to find you online and is not based on what you do on a day to day basis in the classroom. (Or, in other words, boo hoo, they didn’t invite me ;) )

I’m really tired of trying to prove myself to other people.

It’s exhausting, and is it really that productive? Shouldn’t I just be content to know for myself that I did a good lesson today? We’re in danger of good Computing teachers becoming so pre-occupied with setting themselves up for newspaper articles and speaking gigs and making a name for themselves that they forget what we’re trying to do here – provide quality lessons.

To my mind the most valuable resource of all is time. If we’re going to succeed with our revolution, time is most efficiently spent working together. Giving your time to help a colleague. Working on projects together, rather than fragmenting and each trying to make a name for ourselves. Working together to build a strong workforce of quality teachers. who are all good at their jobs and who can all do our students and our subject proud rather than hoarding up our spare time trying to be better than the next guy.

I don’t want to do this any more.

(But I might have to.)