Mitch Resnick: Let's teach kids to code

253,930 views ・ 2013-01-29

TED


Please double-click on the English subtitles below to play the video.

00:00
Translator: Joseph Geni Reviewer: Morton Bast
0
0
7000
00:15
It was a Saturday afternoon in May,
1
15911
3179
00:19
and I suddenly realized
2
19090
2514
00:21
that the next day was Mother's Day,
3
21604
3454
00:25
and I hadn't gotten anything for my mom,
4
25058
1846
00:26
so I started thinking about
5
26904
1401
00:28
what should I get my mom for Mother's Day?
6
28305
2337
00:30
I thought, why don't I make her
7
30642
1844
00:32
an interactive Mother's Day card
8
32486
3049
00:35
using the Scratch software that I'd been developing
9
35535
2708
00:38
with my research group at the MIT Media Lab?
10
38243
3817
00:42
We developed it so that people could easily create
11
42060
3380
00:45
their own interactive stories and games and animations,
12
45440
4244
00:49
and then share their creations with one another.
13
49684
3769
00:53
So I thought, this would be an opportunity to use Scratch
14
53453
3868
00:57
to make an interactive card for my mom.
15
57321
2900
01:00
Before making my own Mother's Day card,
16
60221
2176
01:02
I thought I would take a look
17
62397
1985
01:04
at the Scratch website.
18
64382
1573
01:05
So over the last several years, kids around the world
19
65955
3358
01:09
ages 8 and up, have shared their projects,
20
69313
3194
01:12
and I thought, I wonder if, of those three million projects,
21
72507
3435
01:15
whether anyone else has thought to put up Mother's Day cards.
22
75942
3385
01:19
So in the search box I typed in
23
79327
2994
01:22
"Mother's Day,"
24
82321
1545
01:23
and I was surprised and delighted to see a list
25
83866
3003
01:26
of dozens and dozens of Mother's Day cards
26
86869
2704
01:29
that showed up on the Scratch website,
27
89573
2514
01:32
many of them just in the past 24 hours
28
92087
2318
01:34
by procrastinators just like myself.
29
94405
3206
01:37
So I started taking a look at them. (Music)
30
97611
3122
01:40
I saw one of them that featured a kitten
31
100733
2456
01:43
and her mom and wishing her mom a happy Mother's Day.
32
103189
6871
01:50
And the creator very considerately
33
110060
2531
01:52
offered a replay for her mom.
34
112591
3504
01:56
Another one was an interactive project where,
35
116095
2384
01:58
when you moved the mouse over the letters of "Happy Mom Day,"
36
118479
3198
02:01
it reveals a special happy Mother's Day slogan.
37
121677
4920
02:06
(Music) In this one, the creator told a narrative
38
126597
3983
02:10
about how she had Googled to find out
39
130580
2659
02:13
when Mother's Day was happening.
40
133239
3117
02:16
(Typing) And then once she found out when Mother's Day was happening,
41
136356
4143
02:20
she delivered a special Mother's Day greeting
42
140499
2478
02:22
of how much she loved her mom.
43
142977
3627
02:26
So I really enjoyed looking at these projects
44
146604
2225
02:28
and interacting with these projects.
45
148829
1652
02:30
In fact, I liked it so much that, instead of making my own project,
46
150481
3841
02:34
I sent my mom links to about a dozen of these projects. (Laughter)
47
154322
4754
02:39
And actually, she reacted exactly the way that I hoped that she would.
48
159076
3580
02:42
She wrote back to me and she said,
49
162656
1385
02:44
"I'm so proud to have a son that created the software
50
164041
3267
02:47
that allowed these kids to make Mother's Day cards for their mothers."
51
167308
4112
02:51
So my mom was happy, and that made me happy,
52
171420
3800
02:55
but actually I was even happier for another reason.
53
175220
4624
02:59
I was happy because these kids were using Scratch
54
179844
3959
03:03
just in the way that we had hoped that they would.
55
183803
2801
03:06
As they created their interactive Mother's Day cards,
56
186604
2811
03:09
you could see that they were really
57
189415
2281
03:11
becoming fluent with new technologies.
58
191696
3312
03:15
What do I mean by fluent?
59
195008
1463
03:16
I mean that they were able to start expressing themselves
60
196471
4032
03:20
and to start expressing their ideas.
61
200503
2777
03:23
When you become fluent with language,
62
203280
2654
03:25
it means you can write an entry in your journal
63
205934
3537
03:29
or tell a joke to someone or write a letter to a friend.
64
209471
4053
03:33
And it's similar with new technologies.
65
213524
3157
03:36
By writing, be creating these interactive Mother's Day cards,
66
216681
4182
03:40
these kids were showing that they were really fluent
67
220863
2530
03:43
with new technologies.
68
223393
1673
03:45
Now maybe you won't be so surprised by this,
69
225066
2765
03:47
because a lot of times people feel that
70
227831
2696
03:50
young people today can do all sorts of things with technology.
71
230527
3400
03:53
I mean, all of us have heard young people referred to as "digital natives."
72
233927
4461
03:58
But actually I'm sort of skeptical about this term.
73
238388
3797
04:02
I'm not so sure we should be thinking of young people as digital natives.
74
242185
3501
04:05
When you really look at it, how is it that young people
75
245686
2553
04:08
spend most of their time using new technologies?
76
248239
3536
04:11
You often see them in situations like this,
77
251775
3523
04:15
or like this,
78
255298
2194
04:17
and there's no doubt that young people
79
257492
1518
04:19
are very comfortable and familiar browsing
80
259010
3316
04:22
and chatting and texting and gaming.
81
262326
4522
04:26
But that doesn't really make you fluent.
82
266848
3199
04:30
So young people today have lots of experience
83
270047
3959
04:34
and lots of familiarity with interacting with new technologies,
84
274006
3795
04:37
but a lot less so of creating with new technologies
85
277801
3405
04:41
and expressing themselves with new technologies.
86
281206
2972
04:44
It's almost as if they can read
87
284178
2392
04:46
but not write with new technologies.
88
286570
3333
04:49
And I'm really interested in seeing, how can we help young people become fluent
89
289903
3898
04:53
so they can write with new technologies?
90
293801
2529
04:56
And that really means that they need to be able to
91
296330
3360
04:59
write their own computer programs, or code.
92
299690
4512
05:04
So, increasingly, people are starting to recognize
93
304202
2712
05:06
the importance of learning to code.
94
306914
3304
05:10
You know, in recent years, there have been
95
310218
2602
05:12
hundreds of new organizations and websites
96
312820
2892
05:15
that are helping young people learn to code.
97
315712
3294
05:19
You look online, you'll see places like Codecademy
98
319006
3591
05:22
and events like CoderDojo
99
322597
2371
05:24
and sites like Girls Who Code,
100
324968
2431
05:27
or Black Girls Code.
101
327399
1694
05:29
It seems that everybody is getting into the act.
102
329093
3108
05:32
You know, just at the beginning of this year,
103
332201
2583
05:34
at the turn of the new year,
104
334784
1365
05:36
New York City Mayor Michael Bloomberg
105
336149
2660
05:38
made a New Year's resolution that he was going to learn
106
338809
2260
05:41
to code in 2012.
107
341069
2779
05:43
A few months later, the country of Estonia decided that
108
343848
3168
05:47
all of its first graders should learn to code.
109
347016
3656
05:50
And that triggered a debate in the U.K.
110
350672
2792
05:53
about whether all the children there should learn to code.
111
353464
4309
05:57
Now, for some of you, when you hear about this,
112
357773
2843
06:00
it might seem sort of strange about everybody learning to code.
113
360616
3608
06:04
When many people think of coding, they think of it
114
364224
3150
06:07
as something that only a very narrow sub-community
115
367374
3576
06:10
of people are going to be doing,
116
370950
2658
06:13
and they think of coding looking like this.
117
373608
2922
06:16
And in fact, if this is what coding is like,
118
376530
2166
06:18
it will only be a narrow sub-community of people
119
378696
2495
06:21
with special mathematical skills and technological background
120
381191
3072
06:24
that can code.
121
384263
2266
06:26
But coding doesn't have to be like this.
122
386529
2500
06:29
Let me show you about what it's like to code in Scratch.
123
389029
3979
06:33
So in Scratch, to code, you just snap blocks together.
124
393008
4279
06:37
In this case, you take a move block,
125
397287
1915
06:39
snap it into a stack,
126
399202
1769
06:40
and the stacks of blocks control the behaviors
127
400971
2758
06:43
of the different characters in your game or your story,
128
403729
3518
06:47
in this case controlling the big fish.
129
407247
2301
06:49
After you've created your program, you can click on "share,"
130
409548
3451
06:52
and then share your project with other people,
131
412999
3076
06:56
so that they can use the project
132
416075
1823
06:57
and start working on the project as well.
133
417898
2974
07:00
So, of course, making a fish game isn't the only thing
134
420872
3322
07:04
you can do with Scratch.
135
424194
1645
07:05
Of the millions of projects on the Scratch website,
136
425839
1980
07:07
there's everything from animated stories
137
427819
2824
07:10
to school science projects
138
430643
2416
07:13
to anime soap operas
139
433059
2064
07:15
to virtual construction kits
140
435123
2322
07:17
to recreations of classic video games
141
437445
2713
07:20
to political opinion polls
142
440158
2269
07:22
to trigonometry tutorials
143
442427
2640
07:25
to interactive artwork, and, yes,
144
445067
2920
07:27
interactive Mother's Day cards.
145
447987
2784
07:30
So I think there's so many different ways
146
450771
3036
07:33
that people can express themselves using this,
147
453807
3460
07:37
to be able to take their ideas and share their ideas with the world.
148
457267
3400
07:40
And it doesn't just stay on the screen.
149
460667
2562
07:43
You can also code to interact with the physical world around you.
150
463229
3767
07:46
Here's an example from Hong Kong,
151
466996
2479
07:49
where some kids made a game
152
469475
1407
07:50
and then built their own physical interface device
153
470882
3281
07:54
and had a light sensor, so the light sensor
154
474163
2892
07:57
detects the hole in the board,
155
477055
1943
07:58
so as they move the physical saw,
156
478998
2200
08:01
the light sensor detects the hole
157
481198
2240
08:03
and controls the virtual saw on the screen
158
483438
2956
08:06
and saws down the tree.
159
486394
2780
08:09
We're going to continue to look at new ways
160
489174
2109
08:11
of bringing together the physical world and the virtual world
161
491283
3056
08:14
and connecting to the world around us.
162
494339
2928
08:17
This is an example from a new version of Scratch
163
497267
2233
08:19
that we'll be releasing in the next few months,
164
499500
3623
08:23
and we're looking again to be able
165
503123
2050
08:25
to push you in new directions.
166
505173
1696
08:26
Here's an example.
167
506869
2264
08:29
It uses the webcam.
168
509133
4074
08:33
And as I move my hand, I can pop the balloons
169
513207
4856
08:38
or I can move the bug.
170
518063
2885
08:40
So it's a little bit like Microsoft Kinect,
171
520948
2565
08:43
where you interact with gestures in the world.
172
523513
2716
08:46
But instead of just playing someone else's game,
173
526229
2244
08:48
you get to create the games,
174
528473
2242
08:50
and if you see someone else's game,
175
530715
1383
08:52
you can just say "see inside,"
176
532098
2640
08:54
and you can look at the stacks of blocks that control it.
177
534738
2894
08:57
So there's a new block that says how much video motion there is,
178
537632
3555
09:01
and then, if there's so much video motion,
179
541187
3121
09:04
it will then tell the balloon to pop.
180
544308
3379
09:07
The same way that this uses the camera
181
547687
2384
09:10
to get information into Scratch,
182
550071
2505
09:12
you can also use the microphone.
183
552576
3007
09:15
Here's an example of a project using the microphone.
184
555583
3984
09:19
So I'm going to let all of you control this game
185
559567
2400
09:21
using your voices.
186
561967
2246
09:24
(Crickets chirping) (Shouts) (Chomping)
187
564213
16456
09:40
(Laughter)
188
580669
8629
09:49
(Applause)
189
589298
8784
09:58
As kids are creating projects like this,
190
598082
2605
10:00
they're learning to code,
191
600687
2265
10:02
but even more importantly, they're coding to learn.
192
602952
3934
10:06
Because as they learn to code,
193
606886
2289
10:09
it enables them to learn many other things,
194
609175
3320
10:12
opens up many new opportunities for learning.
195
612495
2872
10:15
Again, it's useful to make an analogy to reading and writing.
196
615367
4384
10:19
When you learn to read and write, it opens up
197
619751
2940
10:22
opportunities for you to learn so many other things.
198
622691
3060
10:25
When you learn to read, you can then read to learn.
199
625751
3760
10:29
And it's the same thing with coding.
200
629511
2188
10:31
If you learn to code, you can code to learn.
201
631699
2547
10:34
Now some of the things you can learn are sort of obvious.
202
634246
2554
10:36
You learn more about how computers work.
203
636800
2498
10:39
But that's just where it starts.
204
639298
2318
10:41
When you learn to code, it opens up for you to learn
205
641616
2595
10:44
many other things.
206
644211
2245
10:46
Let me show you an example.
207
646456
2346
10:48
Here's another project,
208
648802
2270
10:51
and I saw this when I was visiting
209
651072
2268
10:53
one of the computer clubhouses.
210
653340
2142
10:55
These are after-school learning centers that we helped start
211
655482
3020
10:58
that help young people from low-income communities
212
658502
2762
11:01
learn to express themselves creatively with new technologies.
213
661264
4079
11:05
And when I went to one of the clubhouses a couple years ago,
214
665343
2795
11:08
I saw a 13-year-old boy who was using our Scratch software
215
668138
3725
11:11
to create a game somewhat like this one,
216
671863
2896
11:14
and he was very happy with his game and proud of his game,
217
674759
2923
11:17
but also he wanted to do more.
218
677682
2965
11:20
He wanted to keep score.
219
680647
2304
11:22
So this was a game where the big fish eats the little fish,
220
682951
3076
11:26
but he wanted to keep score, so that each time
221
686027
2927
11:28
the big fish eats the little fish,
222
688954
3378
11:32
the score would go up and it would keep track,
223
692332
2539
11:34
and he didn't know how to do that.
224
694871
2512
11:37
So I showed him.
225
697383
2265
11:39
In Scratch, you can create something called a variable.
226
699648
3577
11:43
I'll call it score.
227
703225
4127
11:47
And that creates some new blocks for you,
228
707352
2831
11:50
and also creates a little scoreboard that keeps track of the score,
229
710183
4666
11:54
so each time I click on "change score," it increments the score.
230
714849
5252
12:00
So I showed this to the clubhouse member --
231
720101
2525
12:02
let's call him Victor -- and Victor,
232
722626
2701
12:05
when he saw that this block would let him increment the score,
233
725327
2802
12:08
he knew exactly what to do.
234
728129
1816
12:09
He took the block
235
729945
2314
12:12
and he put it into the program
236
732259
3044
12:15
exactly where the big fish eats the little fish.
237
735303
4193
12:19
So then, each time the big fish eats the little fish,
238
739496
5023
12:24
he will increment the score, and the score will go up by one.
239
744519
5995
12:30
And it's in fact working.
240
750514
1697
12:32
And he saw this, and he was so excited,
241
752211
2254
12:34
he reached his hand out to me,
242
754465
1679
12:36
and he said, "Thank you, thank you, thank you."
243
756144
2549
12:38
And what went through my mind was,
244
758693
2069
12:40
how often is it that teachers are thanked by their students
245
760762
3042
12:43
for teaching them variables? (Laughter)
246
763804
3403
12:47
It doesn't happen in most classrooms,
247
767207
2481
12:49
but that's because in most classrooms, when kids learn about variables,
248
769688
2959
12:52
they don't know why they're learning it.
249
772647
2508
12:55
It's nothing that, really, they can make use of.
250
775155
2871
12:58
When you learn ideas like this in Scratch,
251
778026
2162
13:00
you can learn it in a way that's really meaningful and motivating for you,
252
780188
4103
13:04
that you can understand the reason for learning variables,
253
784291
2990
13:07
and we see that kids learn it more deeply
254
787281
2042
13:09
and learn it better.
255
789323
1415
13:10
Victor had, I'm sure, been taught about variables in schools,
256
790738
3041
13:13
but he really didn't -- he wasn't paying attention.
257
793779
2188
13:15
Now he had a reason for learning variables.
258
795967
2283
13:18
So when you learn through coding, and coding to learn,
259
798250
3074
13:21
you're learning it in a meaningful context, and that's the best way of learning things.
260
801324
4884
13:26
So as kids like Victor are creating projects like this,
261
806208
3455
13:29
they're learning important concepts like variables,
262
809663
2784
13:32
but that's just the start.
263
812447
2128
13:34
As Victor worked on this project and created the scripts,
264
814575
3850
13:38
he was also learning about the process of design,
265
818425
3252
13:41
how to start with the glimmer of an idea
266
821677
2619
13:44
and turn it into a fully-fledged, functioning project
267
824296
2906
13:47
like you see here.
268
827202
2507
13:49
So he was learning many different core principles of design,
269
829709
4040
13:53
about how to experiment with new ideas,
270
833749
3242
13:56
how to take complex ideas and break them down into simpler parts,
271
836991
4705
14:01
how to collaborate with other people on your projects,
272
841696
2990
14:04
about how to find and fix bugs when things go wrong,
273
844686
3451
14:08
how to keep persistent and to persevere
274
848137
3054
14:11
in the face of frustrations when things aren't working well.
275
851191
3405
14:14
Now those are important skills
276
854596
1773
14:16
that aren't just relevant for coding.
277
856369
2868
14:19
They're relevant for all sorts of different activities.
278
859237
2827
14:22
Now, who knows if Victor is going to grow up and become
279
862064
3168
14:25
a programmer or a professional computer scientist?
280
865232
2924
14:28
It's probably not so likely,
281
868156
1812
14:29
but regardless of what he does,
282
869968
1788
14:31
he'll be able to make use of these design skills that he learned.
283
871756
3704
14:35
Regardless of whether he grows up to be a marketing manager
284
875460
2584
14:38
or a mechanic or a community organizer,
285
878044
3120
14:41
that these ideas are useful for everybody.
286
881164
2456
14:43
Again, it's useful to think about this analogy with language.
287
883620
3922
14:47
When you become fluent with reading and writing,
288
887542
4356
14:51
it's not something that you're doing
289
891898
2441
14:54
just to become a professional writer.
290
894339
1960
14:56
Very few people become professional writers.
291
896299
2697
14:58
But it's useful for everybody to learn how to read and write.
292
898996
3568
15:02
Again, the same thing with coding.
293
902564
2095
15:04
Most people won't grow up to become professional
294
904659
2222
15:06
computer scientists or programmers,
295
906881
3219
15:10
but those skills of thinking creatively,
296
910100
2338
15:12
reasoning systematically, working collaboratively --
297
912438
2514
15:14
skills you develop when you code in Scratch --
298
914952
2710
15:17
are things that people can use no matter what they're doing in their work lives.
299
917662
4822
15:22
And it's not just about your work life.
300
922484
2376
15:24
Coding can also enable you to
301
924860
2720
15:27
express your ideas and feelings in your personal life.
302
927580
3176
15:30
Let me end with just one more example.
303
930756
2673
15:33
So this is an example that came from
304
933429
3127
15:36
after I had sent the Mother's Day cards to my mom,
305
936556
4468
15:41
she decided that she wanted to learn Scratch.
306
941024
3101
15:44
So she made this project for my birthday
307
944125
3031
15:47
and sent me a happy birthday Scratch card.
308
947156
3576
15:50
Now this project is not going to win any prizes for design,
309
950732
3856
15:54
and you can rest assured that my 83-year-old mom
310
954588
2975
15:57
is not training to become a professional programmer or computer scientist.
311
957563
4237
16:01
But working on this project enabled her
312
961800
2972
16:04
to make a connection to someone that she cares about
313
964772
2666
16:07
and enabled her to keep on learning new things
314
967438
2808
16:10
and continuing to practice her creativity
315
970246
2432
16:12
and developing new ways of expressing herself.
316
972678
3175
16:15
So as we take a look and we see that
317
975853
4211
16:20
Michael Bloomberg is learning to code,
318
980064
2564
16:22
all of the children of Estonia learn to code,
319
982628
2650
16:25
even my mom has learned to code,
320
985278
2200
16:27
don't you think it's about time that you might be
321
987478
1772
16:29
thinking about learning to code?
322
989250
1912
16:31
If you're interested in giving it a try,
323
991162
2193
16:33
I'd encourage you to go to the Scratch website.
324
993355
2436
16:35
It's scratch.mit.edu,
325
995791
2025
16:37
and give a try at coding.
326
997816
1822
16:39
Thanks very much. (Applause)
327
999638
4118
About this website

This site will introduce you to YouTube videos that are useful for learning English. You will see English lessons taught by top-notch teachers from around the world. Double-click on the English subtitles displayed on each video page to play the video from there. The subtitles scroll in sync with the video playback. If you have any comments or requests, please contact us using this contact form.

https://forms.gle/WvT1wiN1qDtmnspy7