Add to folder successful

Should all kids learn to code?

Posted by Daniel Donahoo |

Monday 12 May 2014, 10:58 AM (EST)

Computer coding is promoted as a must-learn skill for 21st Century students. Dan Donahoo questions what's driving this view.

Learning to code has become something of an edtech focus over the last 12 months. Venture capitalists are seeding places like Code Academy, Code.org and any number of mobile, apps and computer games to teach us and our students the language of computation. But, do all students need to learn to code?

We shouldn’t be surprised that an industry built on computer languages should see those languages as just as important as literacy and numeracy. But are they? Ask poets and they might say everyone should learn to write poetry, or ask geography teachers if we are teaching enough geography in primary school.

Competition for the content space in learning is fierce. But, if we break it down, there are some great reasons to consider teaching students aspects of computer programming. But, we need to look beyond the simple idea of code and to the deeper idea of logic programming and how you can support the development of these skills without needing to know how to code yourself.

When someone says “everyone needs to learn to code”, hear it as “our students would benefit from understanding logic”.

Logic Programming

First, teaching code (or programming) isn’t new to education. The early Apple personal computers and Commodore 64s offered manuals and instructions that helped students learn BASIC programming (no, not basic as in simple, but BASIC as in that was the programming language).

In the late 80s and 90s on boxy little Macintoshes teachers taught students LOGO, a program that intended us to begin to understand logic. Logic programming is at the core of much of what coders do. It is a way to look at a problem, the world, or a piece of technology and work out what to do with it.

In some ways, when we talk about learning to code we can get bogged down in semantics. What we are actually talking about is learning the art of logic. And, despite how that sounds, learning logic can be great fun. So, when someone says “everyone needs to learn to code”, hear it as “our students would benefit from understanding logic”.

Context

It is important to remember that computer code is written in “languages” and language is a tool. It is useless unless you have something to say and someone to say it to. Being able to code, or effectively speak a computer language is the same. It is useless unless you have something for that language to do.

My experience is that students will most engage with learning logic programming, if they are involved in the creation of something. This could be learning to build games in Scratch, it could be learning to design a website using html or create a mod for Minecraft.

I don’t have the skills to do all of those things. However, using inquiry and student-led approaches you can teach and support students to learn logic through building games or websites without having to know in great detail how the programs, or even specific language works. Teachers can design frameworks and with an overarching idea of the capacity of the tool can create an environment in which students teach themselves. We facilitate that by asking questions, pointing towards other resources and offering the right level of encouragement and space to allow students to learn.

How do you do it?

I’d encourage you to have a look at Monopoly to Minecraft and Infinity Learning as two examples of how to run short courses in game design and animation that allow students to use tools like Spolder, Scratch, Disney Infinity and even Minecraft to teach logic programming. There is a great blog from students at Malvern Central Primary charting their experience.You will see they are similar in that both programs focus on thinking about the outcome first.

Importantly, ABC Splash will soon be offering a live streaming event for schools called Games From Scratch looking at games programmind using tools like Scratch, created by MIT. It is a great tool, I have used it with many students, but the focus of Scratch is on creating something – an animation or even more appealing to many students a game.

Don’t get too caught up in the need to teach students actual code, and instead focus on getting them to think about the concept “if this happens, then that”. This is a first basic concept that is really powerful. Good luck getting started.

About this author

Daniel Donahoo

Daniel Donahoo is the director of ideas consultancy Project Synthesis and founder of Deeper Richer, a company that builds digital learning environments. He works with schools and communities to make the most of digital technology. Daniel is responsible for innovations such as: LEGO Poetry, the Children's App Manifesto and Better Apps. Website: deeperricher.com Twitter: @ddonahoo

Comments (7)

Add a comment

Fill in the fields below to add a comment.

Please note that all comments will be pre-moderated so there may be a delay before comments appear online.

Your comment:

Your name:

Your email address (will not be shown online):

If you see this, leave this form field blank and invest in CSS support.

richard mullins

15 May 2014, 05:30 PM (EST)

In 1950, Turing predicted that the "masters" - people writing computer code - would one day be in danger of being make obsolete - and to counter this they would surround their work with obfuscation). Teaching students in primary school to write code in a computer language is likely to be massively irrelevant. It would be like promoting the teaching of the abacus, or roman numerals, as a matter of great importance.

Tim P

15 May 2014, 06:20 PM (EST)

Sure, but be ready to cop the criticism from parents who can't see past the fact that the Minecraft Edu server you run at school looks suspiciously like the Minecraft the kids play at home. The comment I got after a term's work in English, Mathematics and T&E using Minecraft was 'If we wanted our children to play computer games we would have bought them ourselves.'?

John Annable Dromana Primary School

15 May 2014, 06:28 PM (EST)

This is wonderful. as a teacher of computing with 30yrs experience I have been through all of the trends in educational computing. One thing has shone through in all of that time. "The best thing to do with a computer is to build something on it!"

Sue

15 May 2014, 08:47 PM (EST)

It would be better to teach logical thinking and analysis. After all they're the basis behind good software design. Logical thinking and analysis will help no matter the career chosen. Programming won't and is unlikely to be more than a taste of what a career as a software developer may be like.

Braydan Wilson

15 May 2014, 10:50 PM (EST)

Teaching coding is a great way to help students understand how computers "think". It won't magically generate the next Bill Gates, but it provides a solid foundation of thinking skills that can be used to solve problems across multiple disciplines. Coputational thinking (ie - code) is a way of thinking that can be used everywhere. Teaching "word processing" or "spreadsheeting" doesn't build creative, critical-thinking problem solvers. Coding can.

Stuart Man

16 May 2014, 12:21 AM (EST)

Taught Comp/ICT in UK schools for 7 yrs. We fought hard to ditch ICT for programming but back here in Aust the state schools only want "business/secretarial" (ICT) courses. No interest in programming because govts. don't want to spend $ on maintaining computers in schools so I have gone back to the private sector. Kids here in Australia are missing out, BIG TIME. The WA govt wants to dumb them down for mining/construction jobs and give all the smart jobs to 457 visas.

Trudi

19 May 2014, 07:09 PM (EST)

The information in this article is great - especially now that my kids (7, 9 and 12) are exploring coding through the Brisbane City Council run 'CoderDojo' free programs in libraries - making games and controlling robots through Scratch and HTML