I have been spending a great deal of time recently pondering the teaching of programming to kids – as well as a fair bit of time actually doing just that. There are some great resources and thoughtful articles on the topic out there, including Mitch Resnick’s TED talk which I was lead to recently by Darren R, one of our Senior Scratch Correspondents.
I love what Resnick has to say about the term ‘digital native’ which we often hear used to describe the current generation of kids. He points out that using a device to chat and text and email does not make you fluent, it does not make you native. Kids have lots of experience in interacting with new technologies, but a lot less in creating and expressing themselves with new technologies.
It did strike me, listening to this, that’s there’s a direct analogy with learning a language. You can’t say you are fluent in a language just because you can read it, you need to be able to speak it and write it too – you need to be able to converse and create in it. In any case this harks back to one of my motivations for teaching programming – kids need to be more than consumers.
Anyway, Resnick draws from this position the importance of teaching kids to code. But he also goes on to point out that although learning to code is an end in itself, it also leads to the student learning an enormous range of other things. I’ve seen this myself in any number of ways: from kids learning maths, to learning about colours, to learning about how to draw with perspective – or even just willingly checking their spelling in a set of instructions they are writing.
I also liked the way Resnick draws an analogy with reading and writing. You don’t learn to read and write because you are planning on becoming a professional writer: It’s useful for everybody to learn how to read and write. So too, most people wont go on to become professional programmers: “But the skills of thinking creatively, reasoning systematically, working collaboratively… are things that people can use no matter what they are doing in their work lives.”
Resnick’s talk also lead me to the excellent list: 40 Ways to Learn Coding. This is a great curated list which sets out a wide range of possibilities in one place. For any teacher or parent confused by the range of options available – this list is an absolutely fabulous resource.