I’ve banged on a lot about why it’s important that children learn about computing (mainly here, but also here and here). After attending the excellent coding for kids un-conference run by @hubmum and @katybeale, I made a promise to myself to do something practical to help more young people discover coding.

So… I pitched the idea of a coding for kids pilot to the Head Teacher of my son’s primary school and was pleasantly surprised that she was very open to the idea.

Shortly after that, a bit of serendipity came into play through a post on the Computing at School mailing list. Peter Higginson (mentioned on Stanford’s “Birth of the Internet” plaque) happens to live near me and was interested in doing something to help bring computer science to schools. Over a coffee (and some fascinating stories about the early days of the internet) we agreed to doing some sort of double act.

After a couple of planning meetings with the Deputy Head we settled on doing a pilot with a group of ten Year 5 (ie 9 year old) children. It would be two 1 hour sessions during school time. I was keen to target Year 5 as there is a general consensus that it’s about the age when people develop some of the thinking skills that computing needs (Plus I was somewhat influenced by Emma Mulqueeny’s Year 8 is too late thoughts)

So here’s what we did, what happened and some thoughts on what’s next…

What We Did

We decided fairly quickly to use MIT’s Scratch as the basis for the sessions. It’s free, very accessible for children of that age and there are lots of online examples and resources that the kids could run with on their own if they wanted to.

We structured each session so that it would start with Peter covering theory and explaining some principles; followed by some guided practical work led by me; then ending with some freeform kids-do-stuff-while-we-walk-round-and-help-out-where-we-can time (I’m sure theres a proper ‘teacher-phrase’ for that – perhaps someone will enlighten me).

In session 1 (full notes here), Peter introduced them to the basics of the Scratch environment, talked about variables and operations, made a dog chase a cat and showed how Scratch could be used to do some mathematical number crunching finding prime numbers (examples here). I then helped the pupils build their first programme – drawing simple shapes – starting with squares and incrementally modifying the code to draw more complicated shapes.

In session 2, (full notes here) Peter covered more theory including conditionals, loops and broadcast messages. We had then preloaded a simple game I’d put together  – Moon Monsters (example in all its glory here). I showed the students how it worked and then we encouraged them to modify it – changing how fast the monsters move, adding more monsters etc.

Some Observations 

Firstly, the kids lapped it up. It was super-satisfying to see the penny drop that they could tell the machine what to do. Since doing the pilot we’re told that the school has been opening up their ICT suite at lunchtimes and a few of them are still going in and coding off their own backs. I’m chalking that one up as a win.

Secondly, there was something fantastic about watching Peter teach the kids. A veteran of the earliest days of the internet enthusing and passing his knowledge onto a new generation – I hope that the group will remember that for a long time.

With no experience of teaching, I found prepping the practical parts of the sessions hard work – trying to get the right balance between something that the pupils will be excited by, but also be within their grasp was quite challenging. I have a new-found respect for the work teachers must put into new material for their classes.

The Future ?

The question I keep asking myself is “How do we make this sustainable?” – perhaps the answer lies in those of us who code, helping those who teach to get up to speed with something like Scratch. Maybe I can use the community we’ve built at Reading Geek Night to move that forward. Perhaps the answer lies in peripatetic coding teachers (much like the model of music and other specialist teachers). Perhaps there’s merit in out-of-school clubs and mentoring support for our newly minted coders.

Wherever the answer lies, we’re keen to keep experimenting and help get a few steps closer to an answer.

One of the things I’ve been pondering since attending the excellent Coding for Kids kick-off meeting last week is what measures should we look to for an indication of how well we are doing.

My sons primary school has recently been through an Ofsted inspection. With that in mind, it struck me that as we increase the number of kids who are exposed to programming, we should expect to see more mention of it in Ofsted reports.

So, if you were to take the last couple of years of primary school Ofsted reports and look for ones that mentioned programming, what would you find? Obviously, I wouldn’t expect the figure to be very high. Inspectors are not tasked to seek out examples of kids coding, so any mentions would just be because they had observed something that had stood out for them. However, if we are looking for evidence that Coding for Kids is having an impact, the reports might not be a bad starting point.

In a fit of data-geekery, last night I knocked together a script which scraped around two years of primary school data (10,747 Oftsted school inspection reports) from their website (Grrrr – Ofsted don’t organise their data to make this easy – but thats another story). A search for the word ‘programming’ returns 22 results. A search for the word “computing” across all of these reports returns 105 results (however when you read them, many of these are actually referring to computing facilities in the context of ICT provision).

So, looking back over the last couple of years, only 0.2% of primary Ofsted reports mention programming.

Yes it’s a very crude measure, but I’m hoping that in a couple of years, with the various initiatives being kicked off under the Coding for Kids umbrella, I’ll be be to repeat the exercise and report a much improved percentage.

(PS: I’ll try and do the same for Secondary schools at some point – also if anyone wants a copy of the base data I scraped then just shout)





The first computer I touched was an Apple IIe. My Dad had bought one for his accountancy practice and one evening, after everyone had gone home, he took me to see it. It was amazing – we played breakout, made Lemonade, and calculated our Biorhythms – Believe me, for a ten year old in 1980 that was pretty impressive. With the computer there were a bunch of manuals, but the one that caught my eye was titled “Apple II Basic Programming Manual“.  I ‘borrowed’ it – and in its pages I discovered a brand new world.

Thirty one years later and I wake up to the news that Steve Jobs is dead. However, for me, its not Apple’s obvious achievements that come to mind. I don’t think about the mac I’m reading the news on, or the Pixar films the kids watch, or the iPhone in my pocket. What comes to mind is a single paragraph on page 12 of that manual, still remembered three decades later.

“There is nothing you can do by typing at the keyboard that can cause any damage to the computer. Unless you type with a hammer. So feel free to experiment. With your fingers.”

And having been given permission to experiment…. thats exactly what I did. Reflecting on it now, I think that paragraph probably changed my life.

The fact that the current UK ICT curriculum is pants has been a much discussed topic within the tech community for a long time. It’s focussed on consumption not creation, it ignores younger children and even if I were being charitable I’d say, at its best, it is preparing our kids for the kind of jobs they might have found in the office of ten years ago.

In the last week this topic has had some limelight after Eric Schmidt’s talk at the Edinburgh International Television Festival, prompting the mainstream media to write about the subject.

Of course the big question is… what do we do about it?

Whilst its right to shout loudly about the inadequacies of the current curriculum (can we call it the ‘legacy’ curriculum?), it is the easy option. To be credible we need to propose a solution – put up, or shut up.

Earlier today I mooted on twitter that we need an open-source alternative ICT curriculum – its not an original idea by any means and I know its been talked about before. Quite rightly Emma Mulqueeny (@hubmum) responded with a “theres been talk, but whats needed, whats the first step?” challenge.

I have absolutely no experience of building a curriculum so I might be talking complete rubbish, but here are my starter-for-ten thoughts – they are unpolished and completely up for comment etc.

1 – Find the people who are at the intersection between….
  • Caring deeply about this stuff
  • Knowing what works and doesn’t work in the classroom
  • Writing a curriculum that would be credible in the eyes of whoever it is that judges whether a curriculum passes muster or not
2 – Break it down into something small

Theres no point in sitting in a room for years word-smithing an overarching curriculum (I’m guessing thats how we ended up with what we have now). I’m far more in the ‘whats the fastest experiment we can do to see if this has legs?’ camp. So I guess the question is do we take a narrow part of the curriculum and develop something for all ages… or do we take one age group and develop a fuller curriculum for that? or is there a better way to slice it?

3 – organise it like an open-source software project

In the sense of having a public repository (git-hub or similar) and a means to incorporate contributions / changes / bugfixes – I’m quite taken by the idea of a bug fix to a curriculum :)

4- find the fastest way to test out the first iteration

There are already plenty of enlightened teachers who do ‘get it’ – are they able to go ‘off-curriculum’ ? (I know thats easy for me to say and probably very difficult in practice). Would they be able to translate the objectives of the curriculum into free available lesson plans that could be more widely tried out?

5 – Learn from the above and repeat until we get it right

…Incomplete thoughts and rough round the edges I know, but is this (or a refinement of this) a workable way forward?

Last week I got into conversation with Sue Black and others about kids and programming, which prompted me to expand on my observations here…

My experience has been that with a combination of enthusiasm and encouragement from me, and opportunity (in the shape of the excellent kid-friendly Scratch from MIT) my six year old son has got to grips with some of the basics of programming and has had loads of fun making my laptop do crazy things.

Unfortunately, when I’ve visited his school and seen the way ‘ICT’ (how I hate that term) is approached, I haven’t come away feeling that there is either the enthusiasm or the opportunity for kids to get their hands dirty on some code. I watched a class of bored children clicking on stuff with no real direction, supervised by an equally bored teaching assistant whose main role was as guardian of the usernames and password printout. By the end of the lesson there were still children who hadn’t actually logged on.

I should say at this point I’m not singling out the school or the teachers for criticism. Somehow, as a nation, we have allowed computing in schools to morph into something to be held at arms length, relegated to the ‘ICT suite’, where our kids are taught to click on the right buttons to churn out Powerpoint presentations. For a country about to celebrate the centenary  of the birth of the ‘father of computing‘, this is a sad state of affairs.

So what? Why should we care?

We should care because we have a choice about how we deal with technology… Douglas Rushkoff makes the case very eloquently in his book ‘Program or be Programmed‘, but it boils down to…

“Do we direct technology, or do we let ourselves be directed by it and those who have mastered it?”

We should care about how computing is approached in our schools because if we don’t do something, many of our children will not be equipped to make that choice.

As I see it, at the moment, we are teaching our kids to ‘be directed’… to blindly press the right buttons. I want to see our kids being given the opportunity to create the buttons themselves. Of course, not everyone will want to become a button maker, but we must give them the choice.

And the solution is….?

I don’t how we are going to make this happen, but I suspect that whatever the solution is it we will need to address at least these two questions…

  • How do we dramatically increase the level of enthusiasm for coding that kids see around them?
  • How do we create more opportunities for kids to play with programming?

In the communities I am part of I see lots of enthusiasm and lots of opportunity, maybe the solution lies in working out how to bring that to our children and our schools.

I’m hoping that we find the answers to these questions and that in 2012, one hundred years after Alan Turing was born, we can take action to change things. That’s a change I want to be part of.


a little beer festival app

Last year I made a little web app which listed the beers available at Reading Beer Festival in a phone friendly way. It worked well and was an easy way of navigating the 500 or so beers on offer.

This year I have done the same. Point your phone (or any other browser for that matter) at http://jimanning.com/rdgbeerfest, bookmark it and you’ll be all set.

If you are going… I hope you have a great time… and I hope that this little App helps you discover some new beers. (and apologies if you are a cider drinker… there are around 200 ciders on offer, but I haven’t had time to build them in as well)

Here’s the technical bit (for those who care). It’s not very sophisticated, but it’s functional and was pretty quick to knock up. I scraped the beer info from the official site using YQL. Then I used a simple bit of array munging in PHP to output a couple of static html files pivoted around breweries and strengths, then wrapped the whole thing in iUI to give it a simple iPhone-like interface.

On the 5th May we have a once in a lifetime opportunity. We can vote Yes to change the way we elect our members of parliament, or we can vote No to keep our current ‘first past the post’ system.

I will be voting Yes.

The method we use for choosing the people who represent us in parliament isn’t a bad one… but it was designed for a different world from the one we live in today. A century ago, when the majority of people were only offered a choice between two parties, first past the post made perfect sense. There was one winner with more than half the votes… and one loser with fewer than half the votes.

In 2011, we have more choice. Unfortunately, our current voting system means that there are many MP’s sat in the House of Commons who have the support of less than 35% of the people they claim to represent. If you were starting from scratch, would you design an electoral system that way? Of course you wouldn’t.

Next week we can vote Yes and upgrade to a more modern system – the Alternative Vote. Whilst the No campaign will tell you that its fiendishly complicated… it’s not.

To become an MP under AV, you need to get over 50% of the votes. You can’t take up your seat without the support of the majority of your constituents. Of course for some politicians, especially the 35% ones, this is very inconvenient. They will have to work much harder to keep their seats. (violins anyone?)

The process is simple. Instead of scrawling a single X against a candidate at the next general election, we will be able to rank the candidates in order – 1 in the box next to our first choice, 2 against the second and so on. You can vote for as many, or as few choices as you want.

The votes get counted and if a candidate gets more than 50% of the first choices then they have won.

If no-one has a majority the least popular candidate gets eliminated (X factor style) and there’s another vote… Luckily we don’t have to do the whole turning up at the ballot box thing again because we were smart enough to put our preferences in order. So if your first choice isn’t in the race anymore then you’ve already told the counters who you would vote for in the next round. If your first choice is still in the race then your vote counts for them again in the next round.

Its then rinse and repeat until someone gets 50% and they win.

OK… it is slightly more complicated than first past the post…. but it’s no more complicated than the X factor.

Under our current system, you win by being just a little bit less crap than the others. I don’t think thats good enough. By voting Yes we get a modern system which favours politicians who can prove they will represent a majority of their constituents – not just the minority who voted for them under a system designed for a long-gone age.

I said at the beginning of this post that it’s a once-in-a-lifetime chance. Referendums are rare – the last one was in 1975. First past the post is already past its sell-by date. If the polls are right and a majority of people vote No next week then we will be stuck with it for at least another generation. Please don’t let that happen.


Yesterday, I mistyped ‘learn’ as ‘earn’ into our company Skype chat… which in a roundabout way started me thinking about the balance between what you get paid vs what you know and how different that is working on a startup like SocialOptic vs a regular paid job.

Learn before you Earn…

In a Startup, you have to do a whole lot of learning before you have any chance of earning. Learning what problem your customers have that you can solve; Learning how to find your customers; Learning how to build a product or a service that people will part with money for. The ‘earning’ bit comes later, much later.  In our case there was at least a year of learning before even the first penny was earned.

Earn before you Learn…

In our Skype chat I wondered out loud what the other end of the spectrum looked like and @caalie pointed out that paid employment is a good example of earn before you learn. From day one in a job, you are paid by your employer despite the fact that you don’t even know where to find the toilets. Even though you may have a huge amount of knowledge in your specific field, all of the learning you need to do in terms of what customers want / how to improve things etc are paid for in advance (in some cases years in advance)

Does Earning = Learning (ever)…

So the, as yet unanswered, question I was left with is… in what situations does the earning and the learning balance? I can’t think of any. I can imagine scenario’s where you start at one end of the spectrum and move toward the middle, but are there any ‘day one’ scenarios where earning = learning ? Feel free to put me right in the comments section.


Tonight is World Book Night. One million books are being given away by 20,000 people in the UK. I’m lucky enough to be one of them.

The World Book Night Editions of The Spy Who Came In From The Cold

The book I’m giving away is John le Carre’s The Spy Who Came in From the Cold. I first read it when I was around 15 or so. Since then, I’ve read pretty much everything le Carre has written, but The Spy Who Came in From the Cold remains one of my favourite books of all time.

This is how it works… On Thursday I picked up 48 copies from my nearest independent bookshop (WordPlay in Caversham – if you are local then do support them they are fab). I’ve already given a few away to people I saw at TVSMC this week and to other friends. The rest of the books will go to whoever wants them…

If you want a copy (and you are local to Reading) then I would be delighted to let you have one. Let me know via twitter (@JimAnning) or by mail (jim dot anning at mac dot com) and I’ll find a way of getting your copy to you. The only catch is that after you have read it, then I’d like you to give it away yourself to whoever you think would like it.

Its a fantastic book… it may start slowly, but once you get inside it you’ll be hooked. The moment in the book when it becomes clear to the main character that the mission he has been sent on is not quite what he thought it was is classic.

I’ll be taking all of my remaining copies to Reading Geek Night on Tuesday 8th March, so if you are planning on being there, expect to have a copy thrust in your direction.

Last week I saw this in my tweet stream from Janet Davis

I want a virtual analogue Lloyd countdown timer

I’ve read lots of good stuff about UK GovCamp (#ukgc11) and a number of people had remarked on the brilliant job Lloyd Davis did in facilitating introductions and keeping sponsors to time.

Finding myself at tuttle on Friday, I took the opportunity to take some video of Lloyd recreating his much-mentioned ‘analogue timer’ with the aim of throwing together a virtual version as per Janet’s request.

Clearly, it can never replace the live in-the-flesh experience, but for those of you who are unable to secure Lloyd’s timing services for your event…

Here’s a link to the virtual Lloyd. You can instruct him to count for any length of time you need. He can be started and (maybe more importantly) stopped at will :)