Year 8 is too late (part 2)

A whole year and a half ago, in August 2011, I wrote a post called: Year 8 is too late, this post is an update to that one, because – worryingly – this is not recognised as an issue. To me it is blindingly obvious and I suspect it is to most people when you stop and think about it. Back in 2011 the reference was to educating girls in computing and less about the fact that programming was not being taught in schools – which has obviously become the topic du jour, thankfully.

So I would like to reiterate the problem and outline the solution:

  • children are not being taught digital literacy in our schools
  • knowing how to use software products and shiny kit is not the same as being digitally literate
  • understanding how the web works is a fundamental right for every person living in the 21st century, how else can we know and understand how and what choices are made on our behalf (read Douglas Rushkoff Program or be Programmed on this matter)
  • if in the UK we outsource the building of our ideas, because we have failed generations by forgetting to teach basic programming skills to keep up with technology, we become irrelevant muppets
  • spending time and money on fabricating a tech base in London, on a roundabout, is a complete farce if we are simply shop fronts with the technical talent having to be outsourced/imported because we neglected to educate the people who are learning in the UK
  • naturally, if we want to move towards equality in technology, we must ensure we afford the girls the opportunity to learn at an age when they are excited and searching for more stuff to learn – ie in junior school, or from birth
  • children are being taught to fear the internet rather than understand it, with schools restricting more and more access, rather than enabling them to understand what digital citizenship means; leaving them abandoned at 18, naive, unprepared and scared of what might happen, perpetuating the myth by avoiding too much understanding and simply being consumers of code-driven technology
  • the current solution is being authored by exam boards reinventing the ICT GCSE – this in itself is a problem because this is the hardest place to start, it is way too late, but everyone assumes the solution is on the way – it is not
  • the DfE can’t do anything about this other than highlight the problem, the schools have autonomy over what they teach and how – maybe we should have a policy change, I am not sure, but schools have the onus on them to address and resolve this
  • schools do not currently have access to the talent that can teach programming and there is no way to use traditional teaching methods – the industry moves too fast
  • computational thinking is not taught as standard – this is ridiculous
  • digital literacy is not seen as core. Digital literacy is as core learning as numeracy and literacy, “computeracy” is a terrible term but it MUST be understood to be as fundamental as maths and taught
  • this discussion is so old and in spite of much being written and understood about why this is important, nothing is being done, properly STILL(!) this is a national disgrace, we should be ashamed of ourselves
  • we have not even yet managed to incorporate digital learning in the classroom, so terrified are we, yet look at what is happening in South Korea simply enabling learning beyond the classroom is a start, certainly for learning how to code
  • we are falling behind all other countries by doing nothing more than shaking our heads at the problem and perhaps attending a one-day course on coding
  • even more worryingly, some of the solutions being mooted in schools involve ideation only, coming up with an idea for an app, then the creation of that app outsourced to India (getting them to do our kids’ homework) I think this is criminal and exacerbating a problem that is already terrible
  • computer science, including programming, is a new and separate subject, it is not a version of ICT, nor some newfangled way to do business studies, it is a separate and new subject for schools and should be inducted as so
  • our Universities do run computer science courses, that unsurprisingly do not require any ICT GCSE/A levels to qualify for the course… as a result of this, much of the programming section of the computer science degree is taken up by teaching young adults GCSE level computing – this is embarrassing and explains why few self-taught developers will bother going to universities, which means they miss out on the stuff they would really benefit from learning at University, plus the other immeasurable ’rounding off’ being in further education brings – this is not fair
  • if your child is ten or older and they have not begun to understand how the internet works and how to program, or even just computational thinking and logic – it is going to be hard for them, and that is unfair
  • there are jobs, thousands of jobs, unfilled, in this country alone – for programmers of all levels from technical leads to absolute beginners – and it is only going to get worse as more and more children leave school without 21st century basic working skills. At a time when we are broken and heading for triple dip recession, how can this not be seen as insanity? What the actual ****? Teach those kids those skills, get them into those empty jobs – kickstart the economy… no-brainer

Here is my fist stab at a solution to all of the above:

  • teach “computeracy” as a part of the core curriculum from year 5. Here is some advice from Matthew Applegate on what to teach at what age:

Year 5 = 9-10 age Computational thinking, logic, cause and effect (try Scratch, Google app inventor or Lego Mindstorms all visual based programming) or even Game Maker.

Year 6 = 10-11 age Should definitely be coding (try Processing very visual very quick feedback and free see http://pixelh8.co.uk/category/programming-in-schools/ for code examples and http://www.wired.com/geekdad/2009/11/teaching-kids-programmers/ )

Year 7 = 11-12 age try XNA, iPhone & Android dev the program doesn’t have to be complex or world changing you just have to show them a way in. Also they love being able to use and create on up to date tech.

Year 8 = 12-13 age some of the best iPhone developers are 13 years old.

  • stop thinking of it as a nice to have and understand that it is a human right to be digitally literate and therefore have some measure of control and choice in the 21st century
  • encourage every child you know age 10 or under to become digital makers – find and use those online resources, for example Mozilla’s web maker – designed for everyone, let it be natural
  • fight hard, ask your school, don’t think it is being dealt with – it is not
  • learn how to teach basic programming and computational thinking and get down to your local junior school and offer your services – in the same way you would go and listen to kids reading, it is just as important
  • focus on the under tens, I am afraid the 10yrs+ kids are going to have to fight it out for themselves if they are so inclined – if they have not already done so
  • let the exam boards work on changing the structure and content of computer science GCSEs/EBACCs and A Levels, but be prepared that this will be a long-burn slow-win until we have taught the basics to the junior school kids

Learn to code at any age

This is a cross-post of something I wrote for The Guardian, but just thought would be handy to have on the blog over here. It is also a small update from an old post: How to teach kids, or anyone, how to code – that’s the history bit done! Now the science…

The beauty of programming is that it does not matter how old you are (within reason – under 7 is possibly a bit optimistic) you can learn using exactly the same, mostly free resources to be found on the Internet. You can learn basic programming easily within a year and then you can choose to hone and refine whichever aspects of coding most excite you. Done! It’s not hard.

For the purposes of this post I have referred to resources aimed primarily at younger people – but they are all useful for the beginner.

Two of the most common questions are:

1. What language (programming language) should I learn/teach?
2. What resources are there out there to learn how to code?

The answer to question 1 is easy: any/all. The younger programmers are typically polyglottal coders, applying different languages to different challenges, with fewer specialising in one language.

The answer to 2 is also easy: there are many and I will list some here. (Do keep an eye out, there are more resources put online every day and it is always worth watching out for more/better/easier ones.)

Please note, I am deliberately *not* going to recommend one language over another, nor opine the benefits/pitfalls of each – find out which one suits you and start there. Another tip is once you have found a language you are keen to learn, then do search YouTube for further free support and tutorials, there are far too many to name-check here, but it is brimming with people willing to share knowledge in an easy to digest fashion.

To really get you in the mood

Whenever I talk about teaching kids to code, or online resources, I always encourage people to watch Randy Pausch’s last lecture and read the introduction to Douglas Rushkoff’s Program or be Programmed. Randy Pausch’s Last Lecture can be watched here

(If you don’t have an hour or so free right now, then come back to it, but watch the ten ish minutes from this point in the video)

Free online resources

By far the most intuitive and simple website released lately is http://codecademy.com It teaches javascript through a series of very short and simple lessons. My 9 year old daughter started coding using this and it just got her into understanding how written code works.

Kids Ruby http://kidsruby.com is also simple, free and fun.

Scratch http://scratch.mit.edu/ is taught in an increasing number of schools now. Created by MIT it is a programming language that helps computational thinking as well as collaborative working as you build, create and share.

For those of you who love to really get into the meat of a subject, then http://learnpythonthehardway.org/ is a great book/free download. It would not be suitable for the very young coder, but do not be put off by the title – it is surprisingly compelling.

Code Project has a great page on Android programming (for mobiles) http://www.codeproject.com/KB/android/AndroidGuide.aspx there are many tutorials for Android but I found this to be the best place to start.

Blitz Academy has a whole list of resources for those thinking about getting a job as a games developer (in fact the reading and link list is interesting for anybody even vaguely interested in anything)

The Bytes Brothers books [http://www.gamebooks.org/show_series.php?id=1171] are a “…sort of a cross between Encyclopedia Brown and Micro Adventure, each volume in this series contains several short mysteries. The user must read carefully and run very simple BASIC computer programs in order to guess the solutions.”

I can’t really leave you without the links to Alice, having started with the Randy Pausch lecture; it is a programming environment not a language:

Alice

Alice is a 3d programming environment, designed to “create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.”

So there is Alice 2.0 and Alice 2.2 as well as Story Telling Alice. The latter was the one mentioned by Randy as being developed by Caitlin Kelleher and is “… designed to motivate a broad spectrum of middle school students (particularly girls) to learn to program computers through creating short 3D animated movies.” You can download Story Telling Alice here, but it is not hugely tested, is only available for windows based machines, has no support – but I certainly play about with it with Amy (9).

‘Proper’ Alice has full support and documentation and teaching materials and so on.

And that’s it, but there is a constant stream of useful stuff being built and recorded every day, so this post will date quickly! But once you have learned how to code, join us over at Young Rewired State!

Open Education and freedom to teach computing

I think anyone vaguely awake in the education and digital space cannot have failed to notice that 2012 is the year of Computer Science, of coding and kids. 2011 was a cacophony of noise about why this was so terribly important, and 2012 is reaping the rewards.

Government is making commitments for fundamental change and industry is running out of developers fast – and kids have no jobs.

In September of last year I wrote a blog post about how Open Education could work; indeed people have been writing about this for years but it was only really at this point that you could see anything actually happening.

Teachers and freedom

Can giving teachers freedom to teach a subject in any manner they see fit possibly work? This is a fundamental change from the micro-managed curriculum we currently enjoy, with the focus on exam pass-rates and associated funding streams.

I am not wholly sure that it would work easily and immediately with other STEM subjects, Science, Engineering and Maths – it can definitely work with Technology. But boy is it going to take some doing.

Speaking from experience

My eldest daughter is 14 and goes to a school that has just attained academy status, specialising in brilliance in Science – this does not include computer science. Me being me I have been a royal pain in the backside, whilst trying to be helpful, speaking to the deputy head about all I was doing in the coding for kids space and how my experience and contacts could help the school up its game with teaching coding and computer science.

Six months ago they ignored me.

Three months ago they called me in for a meeting.

Two months ago they asked for help.

One month ago we made a plan:

  • inter-form hacking competitions
  • programming computer club working with free online resources, local geek industry and gaming bods
  • an annual assembly
  • participation in Young Rewired State for the coders who had already taught themselves how to programme

This is the stuff dreams are made of. Relevant cross-curricular learning, with a skill that not only de-nerds coding, but simultaneously teaches each child something about programming the digital world they live in, regaining control, knowledge and new Summer jobs. What’s not to love?

Well…

The reality

It takes a lot of work and time to co-ordinate and set up a computer club with local enterprise and free online tools. Done individually, school by school, this will fail at the first missed meeting.

Senior schools operate on a time-poor, information-rich merry-go-round of priorities and logistics. There is an awful lot of information that needs to be imparted in very few hours over very few years – you can only imagine the eye-bleeding decisions that have to be taken.

As a result, senior schools are not the most malleable of organisations to effect immediate and affective change, regardless of good intent and recognition of a problem. New stuff has to become a part of the old stuff – traditional corporate change mechanics: communication, education, management, reward, story-telling and so on.

I tell you – even with one school, regardless of the work I do with Young Rewired State, Coding for Kids and Government – this could be a full time (voluntary) job.

So, I still hold out hope that in 2012 this school will be able to live its dream of being one of the first to market – but there is no kidding about the fact that this is a behemoth of a task.

How can this scale? We’re stuffed

I can hear the Computing at School teachers sharpening their pencils to send me a strongly worded letter about how they are succeeding in their own schools without parental interference, thank you very much – I know. But you face the same problems I saw, I think, judging from the posts on CAS.

So, let me be clear, I have read up on this subject, I work with young programmers, I am a parent to two children, one (aged 9, girl) obsessed with programming the other (14, girl) not so much – so it is with this that I plant my flag firmly in the camp of Year 8 is too late.

Senior school is not the place to focus attention right now. Yes, there will be things that can be done, that teachers can do – but the seeds of need must be planted in junior education.

Equip our young, time-rich juniors with the basics of computer science, take time to make it fun and exciting across the curriculum. The children will then enter senior school with an enthusiasm and expectation that is simply not there right now. And senior school teachers will, for a while, have to play to the masses who see no relevance at all between their BBMing, Facebooking and Tumblr blogs and what they could potentially be learning at school.

Trying to solve this problem with a top-down, managerial (half-hearted) cry to throw open the digital doors in Year 8 and force change in education and interest is going to be a long and bloody process. If this is the way we choose to go, then accept that it will take time, money (lots of money) and it will affect the whole of the education system, not just ICT reform.

Can we focus on the long term by paying attention to junior schools and exciting those teachers and children? And can we work with the kids currently negotiating their way through senior education who have already applied the principles of Open Education by teaching themselves? Young Rewired State focuses relentlessly on these kids and I can tell you the need to support them gets greater every year.

In light of this please can I encourage anyone reading this to still take the time to sign the e-petition and to consider supporting Young Rewired State.

Before I get slated by the Computer Science purists, coding is only one bit of computer science, but it is the only bit I know anything about.

My head teacher won’t let me teach computing

I thought I should follow on from the last post “My ICT teacher can’t mark my homework“.

As I have mentioned a few times, I belong to the utterly excellent group called Computing at School, it is made up of over 700 ICT teachers and people who want to help improve computing in schools. Over the few years I have known of it I have seen many online conversations, most general calls for help and weeping on colleagues’ shoulders about typical teaching frustrations. (I imagine these are common, am not a teacher!).

But recently there has been a noticeable uprising of the JFDI kind, with people making and sharing lesson plans and resources, a definite rise in collaborative energy to kick this ICT and computing discussion into touch. And get on with doing it.

As these horses appeared to bolt from the gate, jockeyed by enthusiasm and a good glug of sheer bloody-mindedness,  I have watched as slowly many of them have fallen, beaten back time and time again either by heads who won’t consider even a computing club, or as today a senior management team who over-rode the supportive Head, with the reason given being (and I am quoting from the post):

  •  Computing is too difficult for the small number that would want to do it (the ‘small number’ being half the GCSE ICT lot).
  • ICT is more useful for a larger number of students.

I am not speaking out of turn here in saying that this is a very common theme and a common argument and it drives me insane and most of the teachers in the group were wearily starting to accept defeat. I have also, to my utter despair, seen members of Young Rewired State fall at the same hurdle, where they have gone into schools and suggested running computing clubs or events, only to be patronised and dismissed.

There are so many counter-arguments to it aren’t there? But you know that in fact, these are not the real reasons, if they were Physics would not be taught, nor music, nor high-jumps, back-flips or burpeez – who cares right?

So is it that the teachers can’t do it?

I don’t think so, there is plenty of enthusiasm to learn and more and more collaborations with local industry people who will lend a hand. Besides learning programming should be something explored and learned together – teacher and pupil, that’s what makes it exciting. It is also not hard, despite John Humphry’s best efforts on Radio 4 yesterday morning to make learning programming sound like learning how to navigate to the moon (and change the wheels on the rocket launcher).

Is it that the text books are too costly?

One person in the CAS group is writing a free one, as I am sure are many of you in Coding for Kids and the general community if you think that is what it will take. There is so much free and open source technology out there – it’s not expensive.

Is it that pupils are taking ICT as a soft subject they will easily pass, adding programming will skew the figures?

Given the ICT ‘A’ Level in this instance required no previous GCSE qualifications to get in, and the curriculum is easy to walk students through writing what they need to say in order to get a high grade. So pupils and the senior team *like* ICT as it keeps the average grade high for the school – (but the pupils in question here are so fired up by the programming this teacher has been teaching so far, and he is worried that removing it from the lessons totally will cause merry hell. It’s fun you see…)

I don’t know but I suspect the latter is more likely to be the case, it makes more sense – I think we might be starting to peel back the layers and it feels like we are beginning to see the actual problems.

You see, this is good, because once we have identified the real problem facing schools, it is far easier to help address them and ask for the right changes to be made to support the many teachers and volunteers who want to help.

So I leave you with the question. If schools were *allowed* to take a hit on their GCSE and A Level grades in ICT whilst programming is taught alongside the necessary ICT skills – what that work? If schools were rewarded for introducing programming as a part of the STEM subjects (computer science) separately to the grades achieved during transition, would that help?

The CAS google group is open and you can go read the thread for yourself, it’s title is: Well that’s crap

My ICT teacher can’t mark my homework

Three years ago in August 2009 we ran the first ever Young Rewired State – a hack weekend aimed at the young developer community. I was determined to try to engage them with the exciting (sic) world of open government data, and firing on all four cylinders went out to go tell those kids all about it.

But they were not there…

It made no sense to me that there was a thriving adult developer community, many of them of my own peer group, but no-one under the age of  18? Where were the kids? Was there a corner of the Internet I had yet to discover?

Over a period of months it became blindingly clear that there were no groups, there were tiny pockets and many isolated individuals – all teaching themselves how to code, driven by personal passion and nothing else.

We scraped together 50 of these kids from across the UK and it was one of the most incredible events we have ever run. Ask me about it and I will bore you to death with inspirational stories ;)

Since then, running Young Rewired State has become the most important thing I do.

One story that I have heard time and time again, is that these genius kids are failing in ICT at school, because their teachers cannot mark their work. I mentioned this in the Guardian Tech Weekly Podcast and I am often asked to back up my claims!

One of the Young Rewired Staters who attended that first event (and every event Rewired State has run since regardless of the challenge – until he was snaffled by San Francisco: aged 16) explained this for the Coding for Kids google group, and I asked him if I could share his story here. Here goes:

When I was in year 10 (or 11, I can’t remember) we were given the brief to “design and create a multimedia product” for an assessment towards GCSE ICT.
Most people opted to use powerpoint to create a sudo-multimedia product. I, however, decided to build a true multimedia product in Objective-C (a small game written for iPhone & iPod Touch which included a couple of videos, some story text, audio, it was an awesome little thing, it really was :)
The Powerpoints passed with flying colors, my project failed.
I asked the head of IT why he failed me, he told me he simply couldn’t mark it. He had installed the app on his iPhone, as had the rest of the IT staff (Including the technicians who really loved it!), played it, but couldn’t mark it because a)He didn’t understand how it worked and b)It was leagues above anything else he’d ever seen from the class.
I argued the case and managed to scrape a pass by teaching him the basics of Objective-C from scratch and by commenting every single line of code I wrote to explain exactly what it did and how it did it (all 3,400 lines, including standard libraries I used) which ended up being a huge time sink. Time, I was constantly aware, I could be relaxing or working on a project of my own.
I understand that my case is a little different from the one involving Ruby, you can’t expect every IT teacher to be versed in iPhone development, but there is no excuse for not having at least a basic understanding of Ruby/Python and absolutely no excuse for failing work because its difficult to mark.
This NEEDS to be fixed, so many fantastic young devs are becoming disillusioned with education because of little things like this. The thought process, for me at least, follows:
“Wait a second, my IT teacher can’t mark this, so it fails? I don’t really want to be part of a system that works like this”.
This is in stark contrast to events like YRS, where kids are encouraged to push the boundaries and explore how to do things differently to stunning effect. It was one of the major deciding factors for me to leave education and move to the US.
The frightening thing is, after bringing it up at an event, almost every other young dev had a similar story.

I cannot tell you how sad I am that we have not been able to keep this YRSer in the UK, and this is one of the very many stories that drives me.

What can you do to help? Start by understanding this problem, then join groups like Coding for Kids and CAS of course – sign the petition.

There are a great many people trying to help solve this problem, and 2012 is certainly going to see a huge push towards solving this, but for now, just take some time to understand why this is such an important fight we have to win – for this generation and the next.

And as a PS, please read the introduction to Douglas Rushkoff‘s book: Program or be programmed – it is very good! (I so should be on commission from this guy).

Teach our kids to code e-petition

So after declaring that this would not become a personal mission for me in my post: year 8 is too late it has become a personal mission.

The petition is appallingly written. In my defence it was a brutal, and random, word count; I had to keep removing chunks of copy and keep trying to submit it, until suddenly it worked (no the word count that it eventually allowed through bore no relation to the word count originally stated… bug?). Anyhow, this terrible prose means that many have tried to explain it through writing their own explanatory blog posts and I thought I had better have a bash at explaining the background better myself.

What do I mean by code?

The word coding is a slang term for computer programming, used because programming basically means writing source code. Source code can be written in any number of languages (such as Ruby, Python and a gazillion others) and is the method used to instruct a computer to execute a series of actions. These actions are understood by the computer in what is known as binary code, that lovely series of ones and zeros loved by Hollywood futuristic films

http://www.digitalproductionme.com/pictures/gallery/Stock%20images/Binary_code_on_blue%20for%20web.jpg

Lovely

When I wrote the post about teaching kids to code in Year 5, that this would address the nerdy image and encourage more female coders, I was focusing more on the immediate and tertiary “brand” issue that geekery has in this country. It is not yet awesomely cool to be able to build digital tools that shape the way the rest of us operate in our worlds, both social and work-based. Not in the UK anyway. And I could see this having a profound effect on our worldwide digital economy and reputation in the very near future – this drives me insane and I just could not understand why people were not a bit miffed by this.

Then I read a book called Program or be Programmed by Douglas Rushkoff please buy it and read it, even if you just read the Preface and Introduction, it is one of the most important books of our age. Here is a bit:

The real question is, do we direct technology, or do we let ourselves be directed by it and those who have mastered it? “Choose the former,” writes Rushkoff, “and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make.”

When I read this book – my slight irritation at the fact that programming was not taught as a part of the curriculum, nor indeed seen as important by parents – it became a far greater philosophical concern, and one that I thought I had to really throw myself into doing something about.

I want my children to have choice, to be able to operate the world they grow up into, not just be driven by it. It’s not just being able to code, in any case, it is understanding computational thinking, really being aware of the value of the frontal lobe over the relative intelligence of the computer programme – are we really going to allow our kids to blindly stumble into a future so utterly dependent on digital tools and products, without giving them the chance to be the demi-Gods who sit behind these things, telling them what to to, and thereby us what to think?

Ben Hammersley used to say to me, the Foreign Policy of this country is not what the Foreign Secretary says it is, it’s what Google says it is. You could argue this fact, but it is broadly true, and now you could perhaps replace ‘google’ with ‘twitter’. Ben has transcribed a speech he gave to the IAAC – please go and read it, it is similarly essential reading.

Rushkoff says in his book that the difference between being able to code and not being able to code, is like being the driver or the passenger (not, as some people think, the difference between the driver and the mechanic). Think about that for a minute, and take a look about you, it’s true.

http://rlv.zcache.com/pause_for_thought_black_text_card-p137452235662050689tdn0_152.jpg

Now I am very definitely not alone here. Many people are making lots of noise about this: writing stuff, lobbying Ministers, pestering the Department of Education, meeting, planning, tweeting – you name it, it’s done. The movement is definitely gathering energy and people are beginning to come together around this topic. All I have done, apart from Young Rewired State of course, is start the e-petition bit of this process; as it is the only way we have a real hope of this being debated in Parliament, even if it is in a year’s time and even if it is not guaranteed to be debated, even with 100,000 signatures.

But what it *does* do, is give everyone who is out there a public place to point, with a decent number of signatories: 1,180 it its first 7 days and growing. (We do need to up its rate of growth if we are to reach 100,000 in a year, but this is why understanding the need for it is so important.)

Please note:

I am NOT saying that teaching programming in schools should replace ICT. ICT teaches you how to operate the digital tools now so paramount to our lives, of course we still need what we can fondly now refer to as traditional ICT. However, it is only half the story – we need to start teaching the other half, and fast.

Please sign the e-petition, and share it, tweet it, blog it, send it to your mate who is in the media and get them to talk about it.

http://epetitions.direct.gov.uk/petitions/15081

Tim Rogers, a Young Rewired Stater and one of the founders of the fabulous Silicon Britain blog, has written his own piece on this, and it is worth hearing the voice of a young digital star http://www.siliconbritain.com/2011/09/computer-science-in-the-uk-is-year-8-too-late/.

Follow

Get every new post delivered to your Inbox.

Join 148 other followers