On the 3rd of February Michael Gove called for state schools to be run more like private schools. More exams, longer hours (that’ll at least please parents), and more sport and debating societies. I am becoming increasingly convinced that Gove thinks that there is only one way for schools to operate, and everything else is just plain wrong.
As someone who works with both independent and state schools, my blood pressure was raised, but stayed within comfortable medical levels.
Then a comment from the Daily Mail did the rounds. Apparently all PE education should revolve around bullying, and a few deaths is an adequate cost. As someone who works with children in sport, in and out of schools (in what’s generally perceived as a “posh” sport), my blood pressure peaked but eventually settled down. This was, after all, a letter to the Daily Mail.
Then there was the Newsnight piece on the Year Of Code, with a somewhat biased set piece introducing the completely disastrous interview with Jeremy “Iron Crotch” Paxman and Lottie Dexter where neither came off particularly well. Paxman comes across as even more arrogant and dismissive than usual and Lottie Dexter looks like she’s just been barbecued and makes some painful statements that she’s really going to regret in the morning.
I lost it. I freakin’ lost it. My blood pressure peaked and in my mind’s eye, a small thermonuclear device went off in the location of everyone involved.
The argument is also driven, constantly, about industry. Industry needs more coders, industry needs better literacy standards, industry needs better workers. All of this is true, but we shouldn’t be teaching kids to code with a view to them growing up to be good little corporate drones. That’s the antithesis of what we want to achieve. We want people who have a true passion for life, whether or not that include code.
And then Paxman comes in with the interview. Deep breath. Seated opposite him is Lottie Dexter, the director of “Year Of Code”. His opening question is not an easy one to answer – “how hard is it to learn to code?”. Dexter can’t code (something for which she has now been universally vilified) and she responds that she’s going to spend this year learning (which is a fair space of time to get a good grounding). Paxman responds with astonishment that it could possibly take a year. What could be so important that it takes a whole year to learn? Just don’t tell any musicians. Lottie then follows up that it takes just an hour to build a website, from scratch. She finishes with a “who knows, I could be the next Zuckerberg”.
That whole opening exchange took 25 seconds, and has done some serious lasting damage.
Let’s take a look at that opening question. “How hard is it to learn to code?”. It’s a valid question. It’s a skill like any other, and if we go by Anders Ericsson’s research, then we’re looking at at least 10,000 hours of deliberate practice (practice beyond one’s comfort level) to become an expert (see this paper for a discussion on the term expert), and stands in stark contrast to Dexter’s statement that you can build a website in an hour.
Of course you can build a website, from scratch, with no knowledge in an hour. Heck, you can build a static page in minutes if you’re copying code from a board. For something slightly more complicated, the “Getting Started With Rails” guide shows you how to build a simple blog in around thirty minutes to an hour. Does that mean you understand what’s going on with the underlying database, MVC pattern, routes and ORM? No, and nor would I expect you to. I’d expect you to possibly understand the basics about actions on a controller, and that would be a superb learning outcome for an hour. That doesn’t mean your next project is Facebook.
To understand learning a little better, we need to look at the “four stages of competence“, which is relatively central to modern understanding of learning. This model describes how we go from complete and utter novice with hopes and dreams, through to realising the vast void in our knowledge and competence, to becoming consciously competent at an activity, , through to an activity becoming automatic. I.e., from complete novice through to expert. Each phase is distinct, and the learner needs to pass through to progress to the next. In coding “expert” is only truly achieved once a state of “unconscious competence” exists, freeing the coder from requiring concious thought for mechanical process and allowing them to think around more abstract concepts. That skill isn’t going to be acquired in an hour. In a year, the amount of time Dexter has allotted herself to learning to Code, given serious deliberate study, I would hope for a mixed level of conscious incompetence in some areas, and concious competence in others.
And that’s just for the skill of building code itself – hacking out text on a screen, to be interpreted by the compiler/interpreter. Around that is a periphery of software architecture, design, UX (heck, even command line tools have a UX component), hardware. That’s a lot of learning.
That took a little longer than 25 seconds to explain. In summary: can we give kids a taste and a buzz for coding? Hell yes. Are they going to become the next Zuckerberg overnight? (Do we even want them to become the next Zuckerberg?) No. Where is Dexter on the stages of competence? Unconscious incompetence. She doesn’t yet have an appreciation for how a big a mountain is in front of her.
Paxman’s response to Dexter stating she might be the next Zuckerberg in 12 months time? “I suppose it’s possible, one can always dream.” Yes, one can and one should. Without an aspiration, why the hell bother in the first place. Don’t knock down others as a response for your own self-perceived inadequacies. It’s not healthy.
Paxman – “How long does it take to learn to teach to code?”.
Dexter – “Well I think you can pick it up in a day.”
2 + 2 does not make four here. Because you can learn how to spit out the basics of a site in a day, does not mean you are then in a position to teach those skills with any understanding. There are at least two approaches to teaching. One has you staying one step ahead of your pupils, learning content just before delivery. Consider this the Mitsubishi JIT of teaching. If your intention is to teach by rote, then this works up until the point where the student asks the teacher “why?”, at which point the whole principal falls apart. The second approach requires a thorough understanding of the subject area. Primary school teachers spend years learning how to teach basic skills in English and Maths. Secondary school teachers typically hold degrees in their disciplines, or at least related degrees, plus teaching qualifications on top of that, all to give them the tools to adapt the content to the class they’re delivering too, and to be able to answer the question “why?” with a level of authority when that inevitable question comes.
See above as to why that’s not going to happen in a day. It’s back to a short-termism that’s plagued computing education since the 1990s (I genuinely think we did better with the Computer Literacy Project in the 1980s). You want teachers to teach code? Ideally, they need to be moderately competent coders first, in the same way that you require a base level of literacy and numeracy to teach English and Maths. It’s insulting to think otherwise. There is a distinct lack of competent programmers working in Education, we’ve known that for years. But there are a number of coders willing to work in schools, with teaching staff, to teach coding. In the same way that many primary schools now treat PE as a specialist subject, and bring in specialist PE teachers, rather than expecting already overburdened teaching staff to teach a subject they have little or no literacy in, let’s bring in some specialists who can teach the subject matter.
Dexter – “In March we’re taking coding in to the classrooms for the first time, we’re encouraging all teachers to teach an hour of code to their pupils, and if we start thinking about it in time for September, teachers should feel confident and pupils should feel real excited about learning to code.”
March to September is nowhere long enough to deal with issues of curriculum and staff training, and shows a level of contempt for the subject.
Paxman – “Isn’t this whole initiative based on a falsehood, that it is essential to know how to code. It’s not essential to know how to code. It’s not essential to know how a light bulb works. Is it?”
“I think in the modern day economy, code is really a vital skill. Technology has completely changed. … But unless we understand technology, we don’t really understand how the world works.”
It’s not essential to understand how a light bulb works? I’d agree there. Let’s be honest, it’s not. But it is covered as part of the existing science syllabus, and a knowledge of inert gases and basic electronics is a foundation for anyone wanting to go down a physical sciences or engineering path. If we want to strip it back, then the only real essentials of life are the physiological functions, roughly summarised as drink, eat, sleep, shit and shag. Everything on top of that is about increasing the number of opportunities to fully maximise our potential for fulfilment at life. Reading, writing and arithmetic are seen as these core skills, but everything beyond that is about increasing our understanding of our environment and our ability to function within it. Learning to code is a pathway to moving from simply being a consumer of our environment, to being a producer in that environment. And since we like to bang on about it, being a producer is a of a significant net benefit to an economy.
Our society has always been dependant on the technology of its time. At the early part of the last century, those cornerstones of technology were steam, basic electronics and radio. People consumed them, but the true producers were the people who understood them, produced with them, and expanded beyond them. Without them, we wouldn’t have the current technology of our age. Coding itself is not a vital skill, but the understanding that it provides and the groundwork it lays for production with technology, is.
Dexter – [Snip]
Lottie talks about earning money and potential for jobs. Because all learning needs to be about jobs. This discussion keeps banging on back to jobs. All the damn time. Oh, and starting your own businesses. We all learn to code to start our own businesses and make shed loads of money. At some point, we’ll have an education revelation and start learning again for the importance of furthering knowledge.
Paxman – “In this new economy, wouldn’t it be more useful to learn something like Mandarin.”
Good question. But I’m pretty sure the current curriculum already gives provision for learning spoken foreign languages, giving people the tools to learn more languages. We’ve not got the same provision for learning technology.
Dexter – “Code is an international language, if you can learn to code you can interact across boundaries.”
No. Spoken language is a communication tool, code is a language for communicating with a machine. Admittedly, the machine is relatively agnostic about where you’re from, so long as it’s somewhere that speaks American English. English is the great leveller in international communications, not code.
Paxman – “What is code?”
Dexter – “Code is the language you use to instruct computers.”
Paxman – “It’s different symbols – it doesn’t mean anything!”
You know what. The first question is fair, and the response is fair. A little GCSE textbook, but I can’t really argue with that. Paxman’s follow up response shows a level of naivety that gets my blood boiling. Of course it means nothing to you, but neither does a page of Mandarin until you’ve spent time learning to understand it. It clearly does mean something to the machine, since the machine will now take your instruction and do something with it. So that leaves us with two options.
a) There’s a conspiracy between coders and computers to keep you out of the loop, and really, code means nothing and we’re just making it all up as we go along.
b) You have spent no time learning how to read or write code, so it means nothing to you.
It’s really a, but I’m not telling if you don’t.
Paxman – “What’s an e-card?”
Dexter – “It’s a virtual birthday card.”
Paxman – “There’s a national initiative to teach people how to make birthday cards?”
To teach five year olds to make things. Making things, any thing, whether it’s pasta on a piece of paper, or a virtual birthday card, is always commendable. Birthday cards are a good a starting point as any. Remind me, I appreciate that you did an English degree at Cambridge, so I take it that you read Tolstoy in your first year of primary school then? No? Well, then your education was clearly a waste of time.
Clearly, Paxman is not on board with the idea. Dexter was not in a good position to be interviewed. Is she the best person to be running this program? Probably not. She is neither a programmer, nor a teacher, and appears to not have an appreciation for how much work is ahead of her to make this program work. The world was a smaller place when the BBC attempted it in the 1980s, and that was hard work then. Should she have been better prepared for this interview? Undoubtedly. But at no point is Paxman attempting to understand the concepts behind the idea, he’s simply out to ridicule.