Coding will become an increasingly important skill in the future, so giving your kids the chance to learn how to programme at an early age could give them a chance to get ahead. But Mitch Resnick, MIT's Professor of Learning Research, says that learning to code should be about creativity and self-expression as much as job opportunities.


Should children learn to code at school?

I think they should, but not necessarily for the reasons many people think. People often focus on the future job opportunities that coding could bring, but I make the analogy of learning to write. Everyone learns to write but not everyone becomes a writer or journalist. Coding is much the same. It teaches kids to express themselves creatively, organise their ideas and develop as logical thinkers, which I think is a more important focus.

Read more about computer science:

How important is creative learning?

I’ve always been inspired by the way children learn in kindergarten [preschool] – whether it’s building houses with blocks or making pictures with finger paints, children are playfully creating things, often in collaboration with one another. This helps them to develop as creative thinkers. Unfortunately, as they get older, there are fewer and fewer opportunities to do this in traditional schooling.

In the research group I set up at MIT, the Lifelong Kindergarten group, we want to take the spirit of kindergarten and make it accessible to learners of all ages. We develop technologies and activities to engage kids in creative learning experiences, so they can continue to explore, experiment and express themselves as they grow older.

Was that the driving force behind Scratch?

Absolutely. Scratch is a programming language and online community that we developed to enable kids to program their own interactive stories, games and animations, then share the creations online and collaborate with one another. From the beginning, we did not see Scratch primarily as a way of teaching kids technical skills or how to code – we saw it as a way for children to be able to express themselves creatively with new technology.

I think our focus on community and creativity is different from a lot of other approaches, and I think that’s what has made it so popular with kids – they can make use of Scratch in ways that are meaningful to them. Learning to code is merely a byproduct of that.

More like this

How have you seen the coding landscape change?

We launched Scratch in 2007, and since then we have been continually amazed and delighted at how it’s captured young imaginations, and at the creativity and diversity of the projects that kids create. We are constantly seeing things that we couldn’t have imagined.

The difference now is that it’s reaching so many more kids from different backgrounds and with different interests, which is great as it means there is larger diversity in what we see. It’s appealing to younger kids too. We originally developed Scratch for eight-year-olds and up, but recently saw scope to launch ScratchJr, to reach ages five to seven.

Read more from Troubleshoot:

What are some of your coolest collaborations?

We have collaborated with Lego for many years. I mean, the basic Lego brick was designed to allow kids to create, design and experiment, so creative learning is really at its core. Recently, we’ve been working with them to combine the Lego building activities with computational electronics. The result is the new Lego Mindstorms robotics kits, which use Scratch to help you program and control your Lego robotic devices in the physical world.

We also work with the Raspberry Pi Foundation, not only looking to see how Scratch can be the engine for their electronic devices, but also in their outreach efforts like Code Club and CoderDojo. These are free community schemes providing kids with the opportunity to explore new technologies in a creative and social environment.

What are the biggest obstacles in teaching kids to code?

I think in general we have to shift the mindset from how people think about education as purely the delivery of information, to seeing learning as an opportunity for kids to explore, experiment and express themselves. So whether it’s parents at home or teachers in schools, they need to encourage and empower kids to design and create, and see new technology as a tool in deepening those learning experiences, rather than necessarily something to learn itself.

What are the best gadgets for learning to code?

Get your child learning to code through play with these great toys and tools.


Lego Mindstorms EV3

Lego Mindstorms EV3 (£249.99,
Lego Mindstorms EV3 (£249.99,

Everyone’s favourite colourful building blocks are all grown up in Lego Mindstorms, and the EV3 kit contains all the bricks, motors and sensors you’ll need to build 17 different robots. The EV3 Programmer app helps kids to program it and bring it all to life, while the Lego Mindstorm community is filled with inspiration for rebuilding and re-programming the robot for almost endless opportunities.


The Harry Potter Kano Coding Kit

Kano Harry Potter Coding Wand (£99.99,
The Harry Potter Kano Coding Kit (£99.99,

For the budding wizards out there, this magical kit comes with a programmable wand that will respond to your child’s movements in real time. Using the companion app on a phone or tablet, there are over 70 creative challenges and games for them to complete. Then, with a wave, twist or a twirl of the wand, their wizarding world will come to life on the screen in front of them.


MaKey MaKey

MaKey MaKey ($49.95 (£40 approx),
MaKey MaKey ($49.95 (£40 approx),

Created by MIT graduates, MaKey MaKey is an invention kit that tricks your computer into thinking that anything is a keyboard. From creating a piano out of bananas to making a game controller from Play-Doh, you just need to plug the MaKey MaKey board into your computer, hook up some alligator clips and you can be creating within minutes, with no extra software required.


Scratch Online

Scratch Online
Scratch Online

Designed and maintained by Mitch Resnick’s Lifelong Kindergarten group at the MIT Media Lab, Scratch is a programming language and online community where kids can program and share interactive media such as stories, games and animation with people from all over the world. Free to join, it’s as easy as dragging and dropping coloured blocks together, and tinkering with the results.


BBC micro:bit

BBC micro:bit (£14.99,
BBC micro:bit (£14.99,

The BBC micro:bit is a handheld, programmable microcomputer that can be used for all sorts of creations, from robots to musical instruments. It has 25 programmable LEDs, two programmable buttons, sensors for light, temperature and motion, and wireless communication via Bluetooth and Wi-Fi. Once you’ve decided what you want to do with it (there are loads of ideas online), you can start programming in a choice of Javascript or Python. Then wipe it and start all over again.


Follow Science Focus on Twitter, Facebook, Instagram and Flipboard