Expert view

Daniel Appelquist

Daniel Appelquist worked at Vodafone for 10 years, most recently in the role of Web and Internet Evangelist. He is now Head of Product Management at BlueVia, Telefónica’s global developer portal.

Can we teach our kids to code? 

Daniel Appelquist examines how we could redefine our children’s relationship with technology by teaching them computer programming.

When we talk about kids and computers – and especially kids and the Web – it seems we’re usually talking about how to restrict. Is there another way? Could we be teaching young people to treat computers as a tool for creativity? If we were to show them how to design, write, test and maintain computer programs (known as ‘coding’), could we change their relationship with the machine and with the Web?

In the pop culture of the internet, we love to talk about companies like Facebook, Google and Twitter. The story of the tech start-up, founded by kids with a cool idea, which then becomes the next household name, has become mythic. But where do these ideas come from? Where do these kids come from?

Back in time

Let’s step back for some historical perspective. My history, in this case. When I was 12, my parents announced to me that they were having another baby. My life as an only child of academics was about to change.

To cushion the blow, they bought me something that, at that time, was a novelty: a personal computer (in this case, an Apple II). They didn’t know it back then, but this decision would shape the rest of my life.

The thing about the Apple II (shared by most of its contemporaries) was that when you turned it on, it allowed you to immediately start writing code. In fact, to get it to do anything at all, you had to start writing code. The way in which you interacted with the machine, the human-computer-interface, was code. If you simply started typing: 10 PRINT “HELLO” 20 GOTO 10 RUN... you were rewarded with a continuous line of HELLOs scrolling up the screen. This was magic, circa 1981.

The point of all this is that if you owned a computer at this time, you became familiar with how to tell computers how to do things, how to write computer programs, how to ‘code’. Kids who grew up with this experience of computers had the skills and inclination to take up more advanced computer related disciplines later in life, including computer science, information science, computer graphics, algorithms and user interface design. These were the kids who went on to invent things like the Web itself.

Fast forward to 2012

The way computers are presented to children now is often as a media consumption device – look at how laptops, tablets and smartphones are fast replacing the television for kids in the modern age.

My own kids have grown up with the Web as a given, with Moshi Monsters, BBC iPlayer and Wikipedia at their beck and call and with games like Angry Birds just a finger-tap away, and I often worry about how this experience of computers will colour their future.

 

... where do these ideas come from, where do these kids come from?

 

Unfortunately, this relationship with the computer is reinforced by how computing is currently taught in schools, at least in the UK. I was horrified when my kids started getting ‘ICT’ lessons in school that seemed to consist primarily of the use of office applications. This approach to teaching computing casts computer skills as vocational, rather than as an academic or creative discipline.

What has this got to do with you and your kids? Isn’t all this innovation happening in California? In fact, the history of the computer started in Britain. It started with a group of mathematicians working on code-breaking during World War II in a secret installation near Milton Keynes called Bletchley Park. It started with people like Alan Turing and Tommy Flowers who put two and two together and built the first programmable computer, the Colossus. In many ways, these were the original ‘hackers’, and our modern information economy owes them a huge debt.

What is the Government doing?

The good news is that there is a move afoot in the UK to redefine how we teach computing to kids – to teach them not only how to use computers but also how to code them.

A proposed curriculum for Key Stages 3 and 4, which seeks to cover computer programming and computer science basics, has been put together with the support of the British Computer Society and has been ‘endorsed’ by both Microsoft and Google. You can read more about it on the Computing At School website.

Furthermore, earlier this year, the UK Government announced plans to introduce computer programming instruction at an earlier age. How exactly these plans will come to life remains to be seen but there is clearly momentum.

As Professor John Naughton of the Open University put it in an open letter to the Education Secretary Michael Gove (published in the Guardian in March 2012), “…we have a once-in-a-lifetime opportunity to prepare our children to play a full part in the world they will inherit.”

Where to from here?

Teaching our kids to code could have another important impact: it could redefine their relationship with computers and with the medium of the Web to which they have become intractably linked.

Unlike previous mediums like television and radio, which have almost universally been consumed passively, the Web encourages active participation. The most extreme expression of this participation takes form through software development, through creating new experiences and bringing new ideas to life.

Where will the next Facebook, Google or Twitter come from? If we can teach our kids to code, then it’s very likely they will come from under our own noses.

Keep in touch with the latest developments and contribute your own ideas at the Coding for Kids wiki and @codingforkids on Twitter.

Code Club has developed a curriculum and a sort of ‘after school club in a box’ aimed at teaching programming skills (using Scratch) to children aged 10 to 11. In a fairly short time, they’ve not only developed a great curriculum but also lots of awareness of this topic.


Did you know?
The history of the computer started in Britain... engineers developed and built the first programmable computer, the Colossus.

 

What can parents do? 

All right, you might say, I get it. I want to teach my kids to code. But I myself don’t know how to code, so how am I supposed to teach them?

Whatever curriculum is introduced in schools in the future, parents can still play a vital role in exposing kids to the concepts and tools they need to learn how to code. Many resources exist to help you help your kids get a leg up on writing computer programs – here are a few I’d recommend.

Useful websites 

LEGO Mindstorms
mindstorms.lego.com

Kids aged seven upwards can start with LEGO Mindstorms, a kit for building robots with LEGO. It comes with a controller unit that is basically a programmable computer that uses a simple, visual ‘drag and drop’ environment.


Raspberry Pi
raspberrypi.org

Billed as a ‘tiny and cheap computer for kids’, the Raspberry Pi gives you fully functioning computer innards for around £30 and you supply your own keyboard, mouse and monitor (a modern TV will do the trick). Its Linux operating system is ‘open’ for tinkering with and comes pre-installed with programming languages and environments.


MIT Scratch
scratch.mit.edu

A project of the Lifelong Kindergarten group at the MIT Media Lab, Scratch is a great starter program for acquainting kids with the fundamentals of computer programming. It is available as a free download for PC, Mac and Linux and enables kids to build interactive stories, games and animations, whilst learning about simple computer science concepts like loops, variables and events.