sponsored links
TEDxBeaconStreet

Mitch Resnick: Let's teach kids to code

November 17, 2012

Coding isn’t just for computer whizzes, says Mitch Resnick of MIT Media Lab -- it’s for everyone. In a fun, demo-filled talk Resnick outlines the benefits of teaching kids to code, so they can do more than just “read” new technologies -- but also create them. (Filmed at TEDxBeaconStreet.)

Mitch Resnick - Computer scientist
Mitch Resnick directs the Lifelong Kindergarten group at MIT Media Lab, dedicated to helping kids of all ages tinker and experiment with design. Full bio

sponsored links
Double-click the English subtitles below to play the video.
It was a Saturday afternoon in May,
00:15
and I suddenly realized
00:19
that the next day was Mother's Day,
00:21
and I hadn't gotten anything for my mom,
00:25
so I started thinking about
00:26
what should I get my mom for Mother's Day?
00:28
I thought, why don't I make her
00:30
an interactive Mother's Day card
00:32
using the Scratch software that I'd been developing
00:35
with my research group at the MIT Media Lab?
00:38
We developed it so that people could easily create
00:42
their own interactive stories and games and animations,
00:45
and then share their creations with one another.
00:49
So I thought, this would be an opportunity to use Scratch
00:53
to make an interactive card for my mom.
00:57
Before making my own Mother's Day card,
01:00
I thought I would take a look
01:02
at the Scratch website.
01:04
So over the last several years, kids around the world
01:06
ages 8 and up, have shared their projects,
01:09
and I thought, I wonder if, of those three million projects,
01:12
whether anyone else has thought to put up Mother's Day cards.
01:16
So in the search box I typed in
01:19
"Mother's Day,"
01:22
and I was surprised and delighted to see a list
01:23
of dozens and dozens of Mother's Day cards
01:26
that showed up on the Scratch website,
01:29
many of them just in the past 24 hours
01:32
by procrastinators just like myself.
01:34
So I started taking a look at them. (Music)
01:37
I saw one of them that featured a kitten
01:40
and her mom and wishing her mom a happy Mother's Day.
01:43
And the creator very considerately
01:50
offered a replay for her mom.
01:52
Another one was an interactive project where,
01:56
when you moved the mouse over the letters of "Happy Mom Day,"
01:58
it reveals a special happy Mother's Day slogan.
02:01
(Music) In this one, the creator told a narrative
02:06
about how she had Googled to find out
02:10
when Mother's Day was happening.
02:13
(Typing) And then once she found out when Mother's Day was happening,
02:16
she delivered a special Mother's Day greeting
02:20
of how much she loved her mom.
02:23
So I really enjoyed looking at these projects
02:26
and interacting with these projects.
02:28
In fact, I liked it so much that, instead of making my own project,
02:30
I sent my mom links to about a dozen of these projects. (Laughter)
02:34
And actually, she reacted exactly the way that I hoped that she would.
02:39
She wrote back to me and she said,
02:42
"I'm so proud to have a son that created the software
02:44
that allowed these kids to make Mother's Day cards for their mothers."
02:47
So my mom was happy, and that made me happy,
02:51
but actually I was even happier for another reason.
02:55
I was happy because these kids were using Scratch
02:59
just in the way that we had hoped that they would.
03:03
As they created their interactive Mother's Day cards,
03:06
you could see that they were really
03:09
becoming fluent with new technologies.
03:11
What do I mean by fluent?
03:15
I mean that they were able to start expressing themselves
03:16
and to start expressing their ideas.
03:20
When you become fluent with language,
03:23
it means you can write an entry in your journal
03:26
or tell a joke to someone or write a letter to a friend.
03:29
And it's similar with new technologies.
03:33
By writing, be creating these interactive Mother's Day cards,
03:36
these kids were showing that they were really fluent
03:40
with new technologies.
03:43
Now maybe you won't be so surprised by this,
03:45
because a lot of times people feel that
03:47
young people today can do all sorts of things with technology.
03:50
I mean, all of us have heard young people referred to as "digital natives."
03:53
But actually I'm sort of skeptical about this term.
03:58
I'm not so sure we should be thinking of young people as digital natives.
04:02
When you really look at it, how is it that young people
04:05
spend most of their time using new technologies?
04:08
You often see them in situations like this,
04:11
or like this,
04:15
and there's no doubt that young people
04:17
are very comfortable and familiar browsing
04:19
and chatting and texting and gaming.
04:22
But that doesn't really make you fluent.
04:26
So young people today have lots of experience
04:30
and lots of familiarity with interacting with new technologies,
04:34
but a lot less so of creating with new technologies
04:37
and expressing themselves with new technologies.
04:41
It's almost as if they can read
04:44
but not write with new technologies.
04:46
And I'm really interested in seeing, how can we help young people become fluent
04:49
so they can write with new technologies?
04:53
And that really means that they need to be able to
04:56
write their own computer programs, or code.
04:59
So, increasingly, people are starting to recognize
05:04
the importance of learning to code.
05:06
You know, in recent years, there have been
05:10
hundreds of new organizations and websites
05:12
that are helping young people learn to code.
05:15
You look online, you'll see places like Codecademy
05:19
and events like CoderDojo
05:22
and sites like Girls Who Code,
05:25
or Black Girls Code.
05:27
It seems that everybody is getting into the act.
05:29
You know, just at the beginning of this year,
05:32
at the turn of the new year,
05:34
New York City Mayor Michael Bloomberg
05:36
made a New Year's resolution that he was going to learn
05:38
to code in 2012.
05:41
A few months later, the country of Estonia decided that
05:43
all of its first graders should learn to code.
05:47
And that triggered a debate in the U.K.
05:50
about whether all the children there should learn to code.
05:53
Now, for some of you, when you hear about this,
05:57
it might seem sort of strange about everybody learning to code.
06:00
When many people think of coding, they think of it
06:04
as something that only a very narrow sub-community
06:07
of people are going to be doing,
06:11
and they think of coding looking like this.
06:13
And in fact, if this is what coding is like,
06:16
it will only be a narrow sub-community of people
06:18
with special mathematical skills and technological background
06:21
that can code.
06:24
But coding doesn't have to be like this.
06:26
Let me show you about what it's like to code in Scratch.
06:29
So in Scratch, to code, you just snap blocks together.
06:33
In this case, you take a move block,
06:37
snap it into a stack,
06:39
and the stacks of blocks control the behaviors
06:41
of the different characters in your game or your story,
06:43
in this case controlling the big fish.
06:47
After you've created your program, you can click on "share,"
06:49
and then share your project with other people,
06:53
so that they can use the project
06:56
and start working on the project as well.
06:57
So, of course, making a fish game isn't the only thing
07:00
you can do with Scratch.
07:04
Of the millions of projects on the Scratch website,
07:05
there's everything from animated stories
07:07
to school science projects
07:10
to anime soap operas
07:13
to virtual construction kits
07:15
to recreations of classic video games
07:17
to political opinion polls
07:20
to trigonometry tutorials
07:22
to interactive artwork, and, yes,
07:25
interactive Mother's Day cards.
07:28
So I think there's so many different ways
07:30
that people can express themselves using this,
07:33
to be able to take their ideas and share their ideas with the world.
07:37
And it doesn't just stay on the screen.
07:40
You can also code to interact with the physical world around you.
07:43
Here's an example from Hong Kong,
07:47
where some kids made a game
07:49
and then built their own physical interface device
07:50
and had a light sensor, so the light sensor
07:54
detects the hole in the board,
07:57
so as they move the physical saw,
07:59
the light sensor detects the hole
08:01
and controls the virtual saw on the screen
08:03
and saws down the tree.
08:06
We're going to continue to look at new ways
08:09
of bringing together the physical world and the virtual world
08:11
and connecting to the world around us.
08:14
This is an example from a new version of Scratch
08:17
that we'll be releasing in the next few months,
08:19
and we're looking again to be able
08:23
to push you in new directions.
08:25
Here's an example.
08:26
It uses the webcam.
08:29
And as I move my hand, I can pop the balloons
08:33
or I can move the bug.
08:38
So it's a little bit like Microsoft Kinect,
08:41
where you interact with gestures in the world.
08:43
But instead of just playing someone else's game,
08:46
you get to create the games,
08:48
and if you see someone else's game,
08:50
you can just say "see inside,"
08:52
and you can look at the stacks of blocks that control it.
08:54
So there's a new block that says how much video motion there is,
08:57
and then, if there's so much video motion,
09:01
it will then tell the balloon to pop.
09:04
The same way that this uses the camera
09:07
to get information into Scratch,
09:10
you can also use the microphone.
09:12
Here's an example of a project using the microphone.
09:15
So I'm going to let all of you control this game
09:19
using your voices.
09:22
(Crickets chirping) (Shouts) (Chomping)
09:24
(Laughter)
09:40
(Applause)
09:49
As kids are creating projects like this,
09:58
they're learning to code,
10:00
but even more importantly, they're coding to learn.
10:03
Because as they learn to code,
10:06
it enables them to learn many other things,
10:09
opens up many new opportunities for learning.
10:12
Again, it's useful to make an analogy to reading and writing.
10:15
When you learn to read and write, it opens up
10:19
opportunities for you to learn so many other things.
10:22
When you learn to read, you can then read to learn.
10:25
And it's the same thing with coding.
10:29
If you learn to code, you can code to learn.
10:31
Now some of the things you can learn are sort of obvious.
10:34
You learn more about how computers work.
10:36
But that's just where it starts.
10:39
When you learn to code, it opens up for you to learn
10:41
many other things.
10:44
Let me show you an example.
10:46
Here's another project,
10:48
and I saw this when I was visiting
10:51
one of the computer clubhouses.
10:53
These are after-school learning centers that we helped start
10:55
that help young people from low-income communities
10:58
learn to express themselves creatively with new technologies.
11:01
And when I went to one of the clubhouses a couple years ago,
11:05
I saw a 13-year-old boy who was using our Scratch software
11:08
to create a game somewhat like this one,
11:11
and he was very happy with his game and proud of his game,
11:14
but also he wanted to do more.
11:17
He wanted to keep score.
11:20
So this was a game where the big fish eats the little fish,
11:23
but he wanted to keep score, so that each time
11:26
the big fish eats the little fish,
11:29
the score would go up and it would keep track,
11:32
and he didn't know how to do that.
11:34
So I showed him.
11:37
In Scratch, you can create something called a variable.
11:39
I'll call it score.
11:43
And that creates some new blocks for you,
11:47
and also creates a little scoreboard that keeps track of the score,
11:50
so each time I click on "change score," it increments the score.
11:54
So I showed this to the clubhouse member --
12:00
let's call him Victor -- and Victor,
12:02
when he saw that this block would let him increment the score,
12:05
he knew exactly what to do.
12:08
He took the block
12:10
and he put it into the program
12:12
exactly where the big fish eats the little fish.
12:15
So then, each time the big fish eats the little fish,
12:19
he will increment the score, and the score will go up by one.
12:24
And it's in fact working.
12:30
And he saw this, and he was so excited,
12:32
he reached his hand out to me,
12:34
and he said, "Thank you, thank you, thank you."
12:36
And what went through my mind was,
12:38
how often is it that teachers are thanked by their students
12:40
for teaching them variables? (Laughter)
12:43
It doesn't happen in most classrooms,
12:47
but that's because in most classrooms, when kids learn about variables,
12:49
they don't know why they're learning it.
12:52
It's nothing that, really, they can make use of.
12:55
When you learn ideas like this in Scratch,
12:58
you can learn it in a way that's really meaningful and motivating for you,
13:00
that you can understand the reason for learning variables,
13:04
and we see that kids learn it more deeply
13:07
and learn it better.
13:09
Victor had, I'm sure, been taught about variables in schools,
13:10
but he really didn't -- he wasn't paying attention.
13:13
Now he had a reason for learning variables.
13:16
So when you learn through coding, and coding to learn,
13:18
you're learning it in a meaningful context, and that's the best way of learning things.
13:21
So as kids like Victor are creating projects like this,
13:26
they're learning important concepts like variables,
13:29
but that's just the start.
13:32
As Victor worked on this project and created the scripts,
13:34
he was also learning about the process of design,
13:38
how to start with the glimmer of an idea
13:41
and turn it into a fully-fledged, functioning project
13:44
like you see here.
13:47
So he was learning many different core principles of design,
13:49
about how to experiment with new ideas,
13:53
how to take complex ideas and break them down into simpler parts,
13:57
how to collaborate with other people on your projects,
14:01
about how to find and fix bugs when things go wrong,
14:04
how to keep persistent and to persevere
14:08
in the face of frustrations when things aren't working well.
14:11
Now those are important skills
14:14
that aren't just relevant for coding.
14:16
They're relevant for all sorts of different activities.
14:19
Now, who knows if Victor is going to grow up and become
14:22
a programmer or a professional computer scientist?
14:25
It's probably not so likely,
14:28
but regardless of what he does,
14:30
he'll be able to make use of these design skills that he learned.
14:31
Regardless of whether he grows up to be a marketing manager
14:35
or a mechanic or a community organizer,
14:38
that these ideas are useful for everybody.
14:41
Again, it's useful to think about this analogy with language.
14:43
When you become fluent with reading and writing,
14:47
it's not something that you're doing
14:51
just to become a professional writer.
14:54
Very few people become professional writers.
14:56
But it's useful for everybody to learn how to read and write.
14:59
Again, the same thing with coding.
15:02
Most people won't grow up to become professional
15:04
computer scientists or programmers,
15:06
but those skills of thinking creatively,
15:10
reasoning systematically, working collaboratively --
15:12
skills you develop when you code in Scratch --
15:15
are things that people can use no matter what they're doing in their work lives.
15:17
And it's not just about your work life.
15:22
Coding can also enable you to
15:24
express your ideas and feelings in your personal life.
15:27
Let me end with just one more example.
15:30
So this is an example that came from
15:33
after I had sent the Mother's Day cards to my mom,
15:36
she decided that she wanted to learn Scratch.
15:41
So she made this project for my birthday
15:44
and sent me a happy birthday Scratch card.
15:47
Now this project is not going to win any prizes for design,
15:50
and you can rest assured that my 83-year-old mom
15:54
is not training to become a professional programmer or computer scientist.
15:57
But working on this project enabled her
16:01
to make a connection to someone that she cares about
16:04
and enabled her to keep on learning new things
16:07
and continuing to practice her creativity
16:10
and developing new ways of expressing herself.
16:12
So as we take a look and we see that
16:15
Michael Bloomberg is learning to code,
16:20
all of the children of Estonia learn to code,
16:22
even my mom has learned to code,
16:25
don't you think it's about time that you might be
16:27
thinking about learning to code?
16:29
If you're interested in giving it a try,
16:31
I'd encourage you to go to the Scratch website.
16:33
It's scratch.mit.edu,
16:35
and give a try at coding.
16:37
Thanks very much. (Applause)
16:39
Translator:Joseph Geni
Reviewer:Morton Bast

sponsored links

Mitch Resnick - Computer scientist
Mitch Resnick directs the Lifelong Kindergarten group at MIT Media Lab, dedicated to helping kids of all ages tinker and experiment with design.

Why you should listen

When we first enter primary school, we spend our days creating, painting, building, experimenting creatively with form and shape. But what happens after that first year? Why doesn't the creativity continue? Mitch Resnick, Director of the Lifelong Kindergarten program and LEGO Papert Professor of Learning Research at MIT Media Lab, is making it his mission to help kids keep the exploration going. He and his team develop new interfaces to help students engage with technology, in a way that encourages them to create and experiment the way we did in kindergarten with paint. Some of Resnick's projects include Scratch, which helps young users learn to code, and the Computer Clubhouse, an international network of creative afterschool programs for underpriveleged students.

The original video is available on TED.com
sponsored links

If you need translations, you can install "Google Translate" extension into your Chrome Browser.
Furthermore, you can change playback rate by installing "Video Speed Controller" extension.

Data provided by TED.

This website is owned and operated by Tokyo English Network.
The developer's blog is here.