ABOUT THE SPEAKER
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.

More profile about the speaker
Mitch Resnick | Speaker | TED.com
TEDxBeaconStreet

Mitch Resnick: Let's teach kids to code

Filmed:
2,313,152 views

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 use new tech toys but also create them.
- 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

Double-click the English transcript below to play the video.

00:16
It was a Saturday afternoon in May,
0
651
3179
00:19
and I suddenly realized
1
3830
2514
00:22
that the next day was Mother's Day,
2
6344
3454
00:25
and I hadn't gotten anything for my mom,
3
9798
1846
00:27
so I started thinking about
4
11644
1401
00:28
what should I get my mom for Mother's Day?
5
13045
2337
00:31
I thought, why don't I make her
6
15382
1844
00:33
an interactive Mother's Day card
7
17226
3049
00:36
using the Scratch software that I'd been developing
8
20275
2708
00:38
with my research group at the MIT Media Lab?
9
22983
3817
00:42
We developed it so that people could easily create
10
26800
3380
00:46
their own interactive stories and games and animations,
11
30180
4244
00:50
and then share their creations with one another.
12
34424
3769
00:54
So I thought, this would be an opportunity to use Scratch
13
38193
3868
00:57
to make an interactive card for my mom.
14
42061
2900
01:00
Before making my own Mother's Day card,
15
44961
2176
01:03
I thought I would take a look
16
47137
1985
01:05
at the Scratch website.
17
49122
1573
01:06
So over the last several years, kids around the world
18
50695
3358
01:09
ages 8 and up, have shared their projects,
19
54053
3194
01:13
and I thought, I wonder if, of those three million projects,
20
57247
3435
01:16
whether anyone else has thought to put up Mother's Day cards.
21
60682
3385
01:19
So in the search box I typed in
22
64067
2994
01:22
"Mother's Day,"
23
67061
1545
01:24
and I was surprised and delighted to see a list
24
68606
3003
01:27
of dozens and dozens of Mother's Day cards
25
71609
2704
01:30
that showed up on the Scratch website,
26
74313
2514
01:32
many of them just in the past 24 hours
27
76827
2318
01:35
by procrastinators just like myself.
28
79145
3206
01:38
So I started taking a look at them. (Music)
29
82351
3122
01:41
I saw one of them that featured a kitten
30
85473
2456
01:43
and her mom and wishing her mom a happy Mother's Day.
31
87929
6871
01:50
And the creator very considerately
32
94800
2531
01:53
offered a replay for her mom.
33
97331
3504
01:56
Another one was an interactive project where,
34
100835
2384
01:59
when you moved the mouse over the letters of "Happy Mom Day,"
35
103219
3198
02:02
it reveals a special happy Mother's Day slogan.
36
106417
4920
02:07
(Music) In this one, the creator told a narrative
37
111337
3983
02:11
about how she had Googled to find out
38
115320
2659
02:13
when Mother's Day was happening.
39
117979
3117
02:16
(Typing) And then once she found out when Mother's Day was happening,
40
121096
4143
02:21
she delivered a special Mother's Day greeting
41
125239
2478
02:23
of how much she loved her mom.
42
127717
3627
02:27
So I really enjoyed looking at these projects
43
131344
2225
02:29
and interacting with these projects.
44
133569
1652
02:31
In fact, I liked it so much that, instead of making my own project,
45
135221
3841
02:34
I sent my mom links to about a dozen of these projects. (Laughter)
46
139062
4754
02:39
And actually, she reacted exactly the way that I hoped that she would.
47
143816
3580
02:43
She wrote back to me and she said,
48
147396
1385
02:44
"I'm so proud to have a son that created the software
49
148781
3267
02:47
that allowed these kids to make Mother's Day cards for their mothers."
50
152048
4112
02:52
So my mom was happy, and that made me happy,
51
156160
3800
02:55
but actually I was even happier for another reason.
52
159960
4624
03:00
I was happy because these kids were using Scratch
53
164584
3959
03:04
just in the way that we had hoped that they would.
54
168543
2801
03:07
As they created their interactive Mother's Day cards,
55
171344
2811
03:10
you could see that they were really
56
174155
2281
03:12
becoming fluent with new technologies.
57
176436
3312
03:15
What do I mean by fluent?
58
179748
1463
03:17
I mean that they were able to start expressing themselves
59
181211
4032
03:21
and to start expressing their ideas.
60
185243
2777
03:23
When you become fluent with language,
61
188020
2654
03:26
it means you can write an entry in your journal
62
190674
3537
03:30
or tell a joke to someone or write a letter to a friend.
63
194211
4053
03:34
And it's similar with new technologies.
64
198264
3157
03:37
By writing, be creating these interactive Mother's Day cards,
65
201421
4182
03:41
these kids were showing that they were really fluent
66
205603
2530
03:44
with new technologies.
67
208133
1673
03:45
Now maybe you won't be so surprised by this,
68
209806
2765
03:48
because a lot of times people feel that
69
212571
2696
03:51
young people today can do all sorts of things with technology.
70
215267
3400
03:54
I mean, all of us have heard young people referred to as "digital natives."
71
218667
4461
03:59
But actually I'm sort of skeptical about this term.
72
223128
3797
04:02
I'm not so sure we should be thinking of young people as digital natives.
73
226925
3501
04:06
When you really look at it, how is it that young people
74
230426
2553
04:08
spend most of their time using new technologies?
75
232979
3536
04:12
You often see them in situations like this,
76
236515
3523
04:15
or like this,
77
240038
2194
04:18
and there's no doubt that young people
78
242232
1518
04:19
are very comfortable and familiar browsing
79
243750
3316
04:22
and chatting and texting and gaming.
80
247066
4522
04:27
But that doesn't really make you fluent.
81
251588
3199
04:30
So young people today have lots of experience
82
254787
3959
04:34
and lots of familiarity with interacting with new technologies,
83
258746
3795
04:38
but a lot less so of creating with new technologies
84
262541
3405
04:41
and expressing themselves with new technologies.
85
265946
2972
04:44
It's almost as if they can read
86
268918
2392
04:47
but not write with new technologies.
87
271310
3333
04:50
And I'm really interested in seeing, how can we help young people become fluent
88
274643
3898
04:54
so they can write with new technologies?
89
278541
2529
04:56
And that really means that they need to be able to
90
281070
3360
05:00
write their own computer programs, or code.
91
284430
4512
05:04
So, increasingly, people are starting to recognize
92
288942
2712
05:07
the importance of learning to code.
93
291654
3304
05:10
You know, in recent years, there have been
94
294958
2602
05:13
hundreds of new organizations and websites
95
297560
2892
05:16
that are helping young people learn to code.
96
300452
3294
05:19
You look online, you'll see places like Codecademy
97
303746
3591
05:23
and events like CoderDojo
98
307337
2371
05:25
and sites like Girls Who Code,
99
309708
2431
05:28
or Black Girls Code.
100
312139
1694
05:29
It seems that everybody is getting into the act.
101
313833
3108
05:32
You know, just at the beginning of this year,
102
316941
2583
05:35
at the turn of the new year,
103
319524
1365
05:36
New York City Mayor Michael Bloomberg
104
320889
2660
05:39
made a New Year's resolution that he was going to learn
105
323549
2260
05:41
to code in 2012.
106
325809
2779
05:44
A few months later, the country of Estonia decided that
107
328588
3168
05:47
all of its first graders should learn to code.
108
331756
3656
05:51
And that triggered a debate in the U.K.
109
335412
2792
05:54
about whether all the children there should learn to code.
110
338204
4309
05:58
Now, for some of you, when you hear about this,
111
342513
2843
06:01
it might seem sort of strange about everybody learning to code.
112
345356
3608
06:04
When many people think of coding, they think of it
113
348964
3150
06:08
as something that only a very narrow sub-community
114
352114
3576
06:11
of people are going to be doing,
115
355690
2658
06:14
and they think of coding looking like this.
116
358348
2922
06:17
And in fact, if this is what coding is like,
117
361270
2166
06:19
it will only be a narrow sub-community of people
118
363436
2495
06:21
with special mathematical skills and technological background
119
365931
3072
06:24
that can code.
120
369003
2266
06:27
But coding doesn't have to be like this.
121
371269
2500
06:29
Let me show you about what it's like to code in Scratch.
122
373769
3979
06:33
So in Scratch, to code, you just snap blocks together.
123
377748
4279
06:37
In this case, you take a move block,
124
382027
1915
06:39
snap it into a stack,
125
383942
1769
06:41
and the stacks of blocks control the behaviors
126
385711
2758
06:44
of the different characters in your game or your story,
127
388469
3518
06:47
in this case controlling the big fish.
128
391987
2301
06:50
After you've created your program, you can click on "share,"
129
394288
3451
06:53
and then share your project with other people,
130
397739
3076
06:56
so that they can use the project
131
400815
1823
06:58
and start working on the project as well.
132
402638
2974
07:01
So, of course, making a fish game isn't the only thing
133
405612
3322
07:04
you can do with Scratch.
134
408934
1645
07:06
Of the millions of projects on the Scratch website,
135
410579
1980
07:08
there's everything from animated stories
136
412559
2824
07:11
to school science projects
137
415383
2416
07:13
to anime soap operas
138
417799
2064
07:15
to virtual construction kits
139
419863
2322
07:18
to recreations of classic video games
140
422185
2713
07:20
to political opinion polls
141
424898
2269
07:23
to trigonometry tutorials
142
427167
2640
07:25
to interactive artwork, and, yes,
143
429807
2920
07:28
interactive Mother's Day cards.
144
432727
2784
07:31
So I think there's so many different ways
145
435511
3036
07:34
that people can express themselves using this,
146
438547
3460
07:37
to be able to take their ideas and share their ideas with the world.
147
442007
3400
07:41
And it doesn't just stay on the screen.
148
445407
2562
07:43
You can also code to interact with the physical world around you.
149
447969
3767
07:47
Here's an example from Hong Kong,
150
451736
2479
07:50
where some kids made a game
151
454215
1407
07:51
and then built their own physical interface device
152
455622
3281
07:54
and had a light sensor, so the light sensor
153
458903
2892
07:57
detects the hole in the board,
154
461795
1943
07:59
so as they move the physical saw,
155
463738
2200
08:01
the light sensor detects the hole
156
465938
2240
08:04
and controls the virtual saw on the screen
157
468178
2956
08:07
and saws down the tree.
158
471134
2780
08:09
We're going to continue to look at new ways
159
473914
2109
08:11
of bringing together the physical world and the virtual world
160
476023
3056
08:14
and connecting to the world around us.
161
479079
2928
08:17
This is an example from a new version of Scratch
162
482007
2233
08:20
that we'll be releasing in the next few months,
163
484240
3623
08:23
and we're looking again to be able
164
487863
2050
08:25
to push you in new directions.
165
489913
1696
08:27
Here's an example.
166
491609
2264
08:29
It uses the webcam.
167
493873
4074
08:33
And as I move my hand, I can pop the balloons
168
497947
4856
08:38
or I can move the bug.
169
502803
2885
08:41
So it's a little bit like Microsoft Kinect,
170
505688
2565
08:44
where you interact with gestures in the world.
171
508253
2716
08:46
But instead of just playing someone else's game,
172
510969
2244
08:49
you get to create the games,
173
513213
2242
08:51
and if you see someone else's game,
174
515455
1383
08:52
you can just say "see inside,"
175
516838
2640
08:55
and you can look at the stacks of blocks that control it.
176
519478
2894
08:58
So there's a new block that says how much video motion there is,
177
522372
3555
09:01
and then, if there's so much video motion,
178
525927
3121
09:04
it will then tell the balloon to pop.
179
529048
3379
09:08
The same way that this uses the camera
180
532427
2384
09:10
to get information into Scratch,
181
534811
2505
09:13
you can also use the microphone.
182
537316
3007
09:16
Here's an example of a project using the microphone.
183
540323
3984
09:20
So I'm going to let all of you control this game
184
544307
2400
09:22
using your voices.
185
546707
2246
09:24
(Crickets chirping) (Shouts) (Chomping)
186
548953
16456
09:41
(Laughter)
187
565409
8629
09:49
(Applause)
188
574038
8784
09:58
As kids are creating projects like this,
189
582822
2605
10:01
they're learning to code,
190
585427
2265
10:03
but even more importantly, they're coding to learn.
191
587692
3934
10:07
Because as they learn to code,
192
591626
2289
10:09
it enables them to learn many other things,
193
593915
3320
10:13
opens up many new opportunities for learning.
194
597235
2872
10:16
Again, it's useful to make an analogy to reading and writing.
195
600107
4384
10:20
When you learn to read and write, it opens up
196
604491
2940
10:23
opportunities for you to learn so many other things.
197
607431
3060
10:26
When you learn to read, you can then read to learn.
198
610491
3760
10:30
And it's the same thing with coding.
199
614251
2188
10:32
If you learn to code, you can code to learn.
200
616439
2547
10:34
Now some of the things you can learn are sort of obvious.
201
618986
2554
10:37
You learn more about how computers work.
202
621540
2498
10:39
But that's just where it starts.
203
624038
2318
10:42
When you learn to code, it opens up for you to learn
204
626356
2595
10:44
many other things.
205
628951
2245
10:47
Let me show you an example.
206
631196
2346
10:49
Here's another project,
207
633542
2270
10:51
and I saw this when I was visiting
208
635812
2268
10:53
one of the computer clubhouses.
209
638080
2142
10:56
These are after-school learning centers that we helped start
210
640222
3020
10:59
that help young people from low-income communities
211
643242
2762
11:01
learn to express themselves creatively with new technologies.
212
646004
4079
11:05
And when I went to one of the clubhouses a couple years ago,
213
650083
2795
11:08
I saw a 13-year-old boy who was using our Scratch software
214
652878
3725
11:12
to create a game somewhat like this one,
215
656603
2896
11:15
and he was very happy with his game and proud of his game,
216
659499
2923
11:18
but also he wanted to do more.
217
662422
2965
11:21
He wanted to keep score.
218
665387
2304
11:23
So this was a game where the big fish eats the little fish,
219
667691
3076
11:26
but he wanted to keep score, so that each time
220
670767
2927
11:29
the big fish eats the little fish,
221
673694
3378
11:32
the score would go up and it would keep track,
222
677072
2539
11:35
and he didn't know how to do that.
223
679611
2512
11:38
So I showed him.
224
682123
2265
11:40
In Scratch, you can create something called a variable.
225
684388
3577
11:43
I'll call it score.
226
687965
4127
11:47
And that creates some new blocks for you,
227
692092
2831
11:50
and also creates a little scoreboard that keeps track of the score,
228
694923
4666
11:55
so each time I click on "change score," it increments the score.
229
699589
5252
12:00
So I showed this to the clubhouse member --
230
704841
2525
12:03
let's call him Victor -- and Victor,
231
707366
2701
12:05
when he saw that this block would let him increment the score,
232
710067
2802
12:08
he knew exactly what to do.
233
712869
1816
12:10
He took the block
234
714685
2314
12:12
and he put it into the program
235
716999
3044
12:15
exactly where the big fish eats the little fish.
236
720043
4193
12:20
So then, each time the big fish eats the little fish,
237
724236
5023
12:25
he will increment the score, and the score will go up by one.
238
729259
5995
12:31
And it's in fact working.
239
735254
1697
12:32
And he saw this, and he was so excited,
240
736951
2254
12:35
he reached his hand out to me,
241
739205
1679
12:36
and he said, "Thank you, thank you, thank you."
242
740884
2549
12:39
And what went through my mind was,
243
743433
2069
12:41
how often is it that teachers are thanked by their students
244
745502
3042
12:44
for teaching them variables? (Laughter)
245
748544
3403
12:47
It doesn't happen in most classrooms,
246
751947
2481
12:50
but that's because in most classrooms, when kids learn about variables,
247
754428
2959
12:53
they don't know why they're learning it.
248
757387
2508
12:55
It's nothing that, really, they can make use of.
249
759895
2871
12:58
When you learn ideas like this in Scratch,
250
762766
2162
13:00
you can learn it in a way that's really meaningful and motivating for you,
251
764928
4103
13:04
that you can understand the reason for learning variables,
252
769031
2990
13:07
and we see that kids learn it more deeply
253
772021
2042
13:09
and learn it better.
254
774063
1415
13:11
Victor had, I'm sure, been taught about variables in schools,
255
775478
3041
13:14
but he really didn't -- he wasn't paying attention.
256
778519
2188
13:16
Now he had a reason for learning variables.
257
780707
2283
13:18
So when you learn through coding, and coding to learn,
258
782990
3074
13:21
you're learning it in a meaningful context, and that's the best way of learning things.
259
786064
4884
13:26
So as kids like Victor are creating projects like this,
260
790948
3455
13:30
they're learning important concepts like variables,
261
794403
2784
13:33
but that's just the start.
262
797187
2128
13:35
As Victor worked on this project and created the scripts,
263
799315
3850
13:39
he was also learning about the process of design,
264
803165
3252
13:42
how to start with the glimmer of an idea
265
806417
2619
13:44
and turn it into a fully-fledged, functioning project
266
809036
2906
13:47
like you see here.
267
811942
2507
13:50
So he was learning many different core principles of design,
268
814449
4040
13:54
about how to experiment with new ideas,
269
818489
3242
13:57
how to take complex ideas and break them down into simpler parts,
270
821731
4705
14:02
how to collaborate with other people on your projects,
271
826436
2990
14:05
about how to find and fix bugs when things go wrong,
272
829426
3451
14:08
how to keep persistent and to persevere
273
832877
3054
14:11
in the face of frustrations when things aren't working well.
274
835931
3405
14:15
Now those are important skills
275
839336
1773
14:17
that aren't just relevant for coding.
276
841109
2868
14:19
They're relevant for all sorts of different activities.
277
843977
2827
14:22
Now, who knows if Victor is going to grow up and become
278
846804
3168
14:25
a programmer or a professional computer scientist?
279
849972
2924
14:28
It's probably not so likely,
280
852896
1812
14:30
but regardless of what he does,
281
854708
1788
14:32
he'll be able to make use of these design skills that he learned.
282
856496
3704
14:36
Regardless of whether he grows up to be a marketing manager
283
860200
2584
14:38
or a mechanic or a community organizer,
284
862784
3120
14:41
that these ideas are useful for everybody.
285
865904
2456
14:44
Again, it's useful to think about this analogy with language.
286
868360
3922
14:48
When you become fluent with reading and writing,
287
872282
4356
14:52
it's not something that you're doing
288
876638
2441
14:54
just to become a professional writer.
289
879079
1960
14:56
Very few people become professional writers.
290
881039
2697
14:59
But it's useful for everybody to learn how to read and write.
291
883736
3568
15:03
Again, the same thing with coding.
292
887304
2095
15:05
Most people won't grow up to become professional
293
889399
2222
15:07
computer scientists or programmers,
294
891621
3219
15:10
but those skills of thinking creatively,
295
894840
2338
15:13
reasoning systematically, working collaboratively --
296
897178
2514
15:15
skills you develop when you code in Scratch --
297
899692
2710
15:18
are things that people can use no matter what they're doing in their work lives.
298
902402
4822
15:23
And it's not just about your work life.
299
907224
2376
15:25
Coding can also enable you to
300
909600
2720
15:28
express your ideas and feelings in your personal life.
301
912320
3176
15:31
Let me end with just one more example.
302
915496
2673
15:34
So this is an example that came from
303
918169
3127
15:37
after I had sent the Mother's Day cards to my mom,
304
921296
4468
15:41
she decided that she wanted to learn Scratch.
305
925764
3101
15:44
So she made this project for my birthday
306
928865
3031
15:47
and sent me a happy birthday Scratch card.
307
931896
3576
15:51
Now this project is not going to win any prizes for design,
308
935472
3856
15:55
and you can rest assured that my 83-year-old mom
309
939328
2975
15:58
is not training to become a professional programmer or computer scientist.
310
942303
4237
16:02
But working on this project enabled her
311
946540
2972
16:05
to make a connection to someone that she cares about
312
949512
2666
16:08
and enabled her to keep on learning new things
313
952178
2808
16:10
and continuing to practice her creativity
314
954986
2432
16:13
and developing new ways of expressing herself.
315
957418
3175
16:16
So as we take a look and we see that
316
960593
4211
16:20
Michael Bloomberg is learning to code,
317
964804
2564
16:23
all of the children of Estonia learn to code,
318
967368
2650
16:25
even my mom has learned to code,
319
970018
2200
16:28
don't you think it's about time that you might be
320
972218
1772
16:29
thinking about learning to code?
321
973990
1912
16:31
If you're interested in giving it a try,
322
975902
2193
16:33
I'd encourage you to go to the Scratch website.
323
978095
2436
16:36
It's scratch.mit.edu,
324
980531
2025
16:38
and give a try at coding.
325
982556
1822
16:40
Thanks very much. (Applause)
326
984378
4118
Translated by Joseph Geni
Reviewed by Morton Bast

▲Back to top

ABOUT THE SPEAKER
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.

More profile about the speaker
Mitch Resnick | Speaker | TED.com