So, I was on twitter last night, as I oh so often am. And I saw a link to a guardian article about the year of code initiative.
My response?
https://twitter.com/liveotherwise/status/432316953576112128
I do urge you to go read the guardian article. I’m not sure it would be good for my blood pressure to go and read it again to be honest, given quotes like this
We at the Year of Code are going to help change that. The new computing curriculum starts this September, and it puts coding at the heart of IT education. Coding is the art of telling a computer how to perform complex tasks. Once you know how to code, you can create virtual worlds within the computer where the only limit on what is possible is your imagination. We want to put this power into the hands and hearts of every child in Britain.
Anyone can learn to code. In a few hours you can pick up the basic skills and in a few weeks you will be able to build useful applications and websites.
But you’re a programmer Jax. You’re forever encouraging people to have a go with their websites, you write articles encouraging people to do things for themselves.
Yes, yes I do. But I would never tell anyone you can learn to code in a few hours. It gets better too. If you watch the Newnight interview with the director of the government funded initiative, you’ll discover she can’t code and she thinks that people can learn to teach code in a few hours. Here you go.
http://www.youtube.com/watch?v=-7x7GYItzS4
I might have to go away and breathe calmly for a few minutes.
There, that’s better.
Right. Is coding difficult? Well, yes and no. I introduced both my older children to Scratch a few years ago. They’ve been coding in that ever since. I read more code languages than I can write – I’m proficient in Pascal, C, Java and php I’d say. (I’m even Sun Certified in Java, how’s that for geek points? So geeky only the geeks know what it means!). But when it comes down to it, code isn’t the issue. What you need to be able to do is work out what the problem is you’re trying to solve, and break it down into the steps needed to solve it. So you need to be able to analyse problems and design solutions.
The shape of that solution will differ depending on the language (and type of language – procedural? Object oriented?) you’re coding in. And once you’ve coded your solution, you need to test it, and work out whether it really solved the problem.
So really, coding is a tiny piece of the developmental puzzle. There’s requirement gathering, analyis, design, documentation, coding, testing and support off the top of my head. (You might have some data to deal with too, so maybe you’ll need a database engineer. And maybe you’ll need a user interface – so perhaps you’ll need a graphic designer too.)
Are you beginning to understand one of my issues with year of code? We absolutely do *not* need everyone to be coding. Only people who don’t understand what coding is could possibly think that.
But coding, so I’m told “enables logical reasoning and repeatable action, like writing enables asynchronous communication and recording” (It’s in the twitter conversation above. Check it out.)
Disregarding the repeatable action bit, here’s where we get to the crux of the problem. Logical reasoning enables coding. Not the other way around. We would be better off letting all our children problem solve, reinstituting the Great Egg Race (anyone else remember that?), having lateral thinking problems daily, philosophical debates in all classrooms. What we need more than anything is logical thought, the ability to recognise a problem, explore solutions, come up with innovative ideas.
What we could do with is a Year of Thought. Any funding out there for that?
Thought not.
That’s only one of my issues though. As I mentioned above, there’s also this idea that teachers can learn to teach code in less than a day.
Newsflash. They can’t. It takes a long time to become proficient in a language. And to learn to teach it takes longer, surprisingly enough. Like most things. If we march teachers through a basic teach coding course we’re going to end up with a lot of children who are being told things that aren’t right. For some children they’ll never go any further. For the talented few who are already proficient, they won’t be challenged or taken any further.
There are already so many great initiatives out there putting things right in this area. They are taking expertise and making it available to children and adults. There might be a code club at your local school or a dojo down the road. Check it out Why isn’t the government supporting them instead of chucking money at this half baked idea? Anyone would think they wanted it to fail.
Coding, to my mind is a craft. (Not an art, as it’s often referred to.) The best way to learn it is by doing it in a learning environment. As an apprentice to a master, seeing expertise around you, having your own work critiqued. That’s not the environment that we’re looking to set up here and that is a crying shame. Second best is probably being given the resources you need (raspberry pis anyone?) and time and space, and maybe a peer group of interested fellow learners (computer clubs!) but being taught elements of coding by people who don’t know coding is not the answer.
Lori says
agree with you 100%! and so does my husband, the software engineer.
Jax Blunt says
Thank you. Not just me then.
Em says
From the partner of the person tasked with writing a course for aqa to help teachers teach coding (via a one day workshop!!!) we both completely agree. Logic, reasoning, problem solving and the confidence to try out ideas yes.
Jax Blunt says
Am intrigued. What language is settled on for all of this? I do feel for the teachers, they are being handed an impossible task.
Looking for Blue Sky says
Coder dojo is amazing especially as it is free and run by enthusiats – my son did it for a few weeks and I’m really hoping he will go back, and it would be even better if I could organise to go with him 🙂
Jax Blunt says
See that’s the kind of thing we need. Get the dojos going
Anne-Marie says
I’m probably more of a tinkerer than a coder. My languages were VBA and SQL, accessing and manipulating data were more my thing. I’m all for kids finding out something exists so they can choose to learn it, and giving them the freedom to play and tinker and discover. Instead of ‘teaching’ and talking about ‘coding’ in the abstract, to me it would make more sense to find a problem to solve like you say and work on all the skills for that. Using code to make an e-card? What’s the point? Do we need to re-invent the wheel? You don’t have to code your own CMS from scratch to create a unique website, using existing tools to solve problems in different ways is how new discoveries are made. We don’t use machine code any more, so maybe we won’t need current “gobbledegook” but the skills to look at a problem and break it down? I’m with you for a Year of Thinking.
Sarah Ebner says
Found this fascinating and have to agree that (although not a coder) I am getting irritated by the number of people who keep telling me that it’s all so easy and that we can all learn to make an app in a day. There is so much to it than that, and for those who want to do it (like my 12 year old) we need teachers who really, genuinely understand it. The idea that all kids are soon going to be taught to code is crazy unless they have proficient teachers. And yes coder dojo is very good!
mamacrow says
is it going to make me sound old if I say I was taught Basic at school?!
I chose that computer class by choice, however.
I really struggle with this new ‘EVERYONE SHOULD AND MUST LEARN TO CODE’ thing.
No. Our entire society doesn’t all need to be car mechanics either.
There should be easy access to resources and support for everyone who WANTS to learn various coding languages and how to apply them.
Everyone SHOULD AND MUST be guided towards learning how to THINK, as you say.
Jax Blunt says
I got the comment about most people driving but there never being a year of mechanics on Twitter last night and thought it was a really good point. We don’t all need to code. It would be good if more people understood the principles, like maintaining a car is important, so are firewalls, virus checking and so. But when it comes to design and building cars we don’t need everyone knocking one together in their garage.
mamacrow says
yes exactly! knowing how to change the oil, how to check tyre pressure, why you need AA/RAC membership and being able to follow a mechanic explaining what’s wrong – that’s sufficient unless you want to know more.
As you say, knowing about firewalls, virus protection, that there is a backend/ front end, what software is and so on, and understanding what a coder does if not how – that at least should be known. Oh, and how and why to back up files. Amazes me how many people are baffled by that!
Jax Blunt says
Maybe file types, how to compress things, how to search for files, that sort of thing. Ooh, this could be a whole post of its own!
Sarah, Maison Cupcake says
The thing I find weird about this is if code was the be all and end all, how come they didn’t teach it to us in the 1980s when computer programming was in its infancy and far simpler.
I can’t believe the Director of Year of Code cannot herself code. At all. Crazy.
Jax Blunt says
Because at that point the teachers didn’t have a clue as they hadn’t been taught it. Which is pretty much still the case.
NinnyNoodleNoo says
*sigh* – right now I can’t come up with anything more intelligent than that, because I’m just becoming so steadily disappointed and disillusioned with what’s going on that I struggle to to express concern about it because I just don’t know where to start (there’s getting to be so much!)
Alan Bell says
I kind of agree and disagree quite profoundly all at the same time 🙂 You can learn to code in a few hours, I am running a codeclub for year 5. After 4 sessions they know about different types of loops, the relationship between speed, distance and time, the x,y coordinate system, how to use a variable to represent a number and change the value of that variable, how to use conditional logic with if statements to cause different things to happen under different circumstances, what random numbers are and how to use them to balance skill and chance to make a fun game. They are now using this knowledge to make creative things and they are debugging problems they encounter along the way. I fail to see how any of this is not something that all young programmers should be allowed to have fun with in the classroom. There is no need for everyone to be able to build a new enterprise class application from the ground up. There is no need for everyone to know about asynchronous programming with callbacks. There is a need for everyone to not freak out at the prospect of having to read some code on the basis that they don’t think they will be able to understand it. As an employer I want people to be taught about the fundamentals and how to enjoy solving problems. I don’t want them trained in any specific application, it won’t be relevant. The move away from programming to using spreadsheets and wordprocessors was driven by a misguided sense of what would be useful in the workplace and this is a long overdue move to reinstate teaching and downplay the training.
Jax Blunt says
And how much of that is going to be achieved with a teacher who has had a day’s training course in how to teach code?
I think things like code club are the way forward. I think having experts mentor interested children and giving them the learning environment you describe above is vital. I think if you instead make coding a tick box on the curriculum that all schools must deliver you are going to end up with an awful lot of children with a lot of badly seated knowledge.
Thanks for commenting, even if you do disagree 🙂
Alan Bell says
Actually I don’t think I am underestimating teachers by saying they can do this. I would say that any teacher who can teach maths at the level of the class could follow good courseware (codeclub is excellent courseware) and teach it well. I think I could train someone who has qualified as a teacher (normally a bachelor degree and PGCE, they are not daft) in 2 hours from no prior experience at all, how to teach term 1 of code club (approx 10 hours of stuff). That isn’t to a level where they are writing their own lesson plans and creating new activities, but following the provided plans, allowing the right amount of creative freedom from the class (yes you can use a different sprite costume, no you can’t miss out the use of the random block) and generally teaching it well.
Jax Blunt says
When I was on my pgce as a maths specialist I was welcomed with open arms by primary school teachers who hate teaching maths. It is very often the subject they like least and that despite the fact that they’ve all got to have gcse or equivalent in it. Many of them will have much less knowledge and experience of coding. I think you’re underestimating how much your background knowledge enhances your ability regardless of how strong the code club courseware is.