Lets teach kids to code Mitch Resnick

it was a Saturday afternoon in May and I

suddenly realized that the next day was

Mother’s Day and I hadn’t gotten

anything for my mom so I started

thinking about what should I get my mom

from Mother’s Day I thought well why

don’t I make her an interactive Mother’s

Day card using the scratch software that

been developing with my research group

at the MIT Media Lab we developed it to

the people could easily create their own

interactive stories and games and

animations and then share their

creations with one another so I thought

this would be an opportunity to use

scratch to make an interactive card for

my mom before making my own Mother’s Day

card I thought I would take a look at

the scratch website so over the last

several years kids around the world ages

8 and up have shared their projects and

I thought well I wonder if of those 3

million projects whether anyone else has

thought to put up Mother’s Day cards so

in the search box I typed in Mother’s

Day and I was surprised and delighted to

see a list of dozens and dozens of

Mother’s Day cards that showed up on the

scratch website many of them just in the

past 24 hours by procrastinators just

like myself so I started taking a look

at them I saw one of them that featured

a kitten

and her mom and wishing her mom happy

Mother’s died and the creator very

considerately offered a replay for her

mom another one was an interactive

project where when you move the mouse

over the letters of happy mom day it

reveals a special happy Mother’s Day

slogan in this one the creator told a

narrative about how she had googled to

find out when Mother’s Day was happening

and then once she found out when

Mother’s Day was happening she delivered

a special Mother’s Day greeting of how

much she loved her mom I really enjoyed

looking at these projects and

interacting with these projects in fact

I liked it so much that instead of

making my own project

I sent my mom links to about a dozen of

these projects and actually she reacted

exactly the way that I hoped that she

would she wrote back to me and she said

I’m so proud to have a son they created

a software that allowed these kids to

make Mother’s Day cards for their

mothers so my mom was happy and that

made me happy but actually I was even

happier for another reason I was happy

because these kids were using scratch

just in the way that we’d hoped that

they would that is they created their

interactive Mother’s Day cards you could

see that they were really becoming

fluent with new technologies you know

what do I mean by fluent I mean that

they were able to start expressing

themselves and to start expressing their

ideas you know when you become fluent

with language it means you can write an

entry in your journal or tell a joke to

someone or write a letter to a friend

and it’s similar with new technologies

you know by that by writing by creating

these interactive Mother’s Day cards

these kids were showing that they were

really fluent with new technologies now

maybe you won’t be so surprised by this

because you know a lot of times people

feel that young people today can do all

sorts of things with technology we all

of us have heard young people refer to

as digital

but actually I’m sort of skeptical about

this term I’m not so sure we should be

thinking of young people as digital

natives when you really look at how is

it that young people spend most of their

time using new technologies you often

see them in situations like this or like

this and there’s no doubt that young

people are very comfortable and familiar

browsing and chatting and texting and

gaming that doesn’t really make you

fluent so young people today have lots

of experience and lots of familiarity

with interacting with new technologies a

lot less so of created with new

technologies and expressing themselves

with new technologies it’s almost as if

they can read but not write with new

technologies and I’m really interested

in saying how can you help Phil become

fluent so they can write with new

technologies and that really means that

they need to be able to write their own

computer programs or code so

increasingly people are starting to

recognize the importance of learning to

code you know in recent years they’ve

been hundreds of new organizations and

websites that are helping young people

learn to code you look online you’ll see

places like code Academy and events like

coderdojo

and sites like girls who code or black

girls code it seems that everybody is

getting into the act

you know just at the beginning of this

year at the turn of the new year New

York City Mayor Michael Bloomberg you’ve

made a New Year’s resolution that he was

going to learn to code in 2012 a few

months later the country of Estonia

decided that all of its first graders

should learn to code and that triggered

a debate in UK about whether all the

children there should learn to code now

for some of you when you hear about this

it might seem sort of strange about

everybody learning to code when many

people think of coding they think of it

as something the only a very narrow sub

community of

people are going to be doing and they

think of coding looking like this and in

fact if this is what coding is like it

will only be a narrow sub creative

people with special mathematical skills

and technological background they can

code the coding doesn’t have to be like

this let me show you about what it’s

like to code and scratch so in scratch

to code you just snap blocks together in

this case you take a move block snap it

into a stock and there’s stacks of

blocks control the behaviors of the

different characters in your game or

your story in this case controlling the

big fish after you created your program

you can click on share and then share

your project with other people so they

can use the project and start working on

the project as well

so of course making a fish game isn’t

the only thing you can do with scratch

of the millions of projects in the

scratch website there’s everything from

animated stories to school science

projects to anime soap operas to virtual

construction kits to recreations of

classic video games to political opinion

polls to trigonometry tutorials to

interactive artwork and yes interactive

Mother’s Day cards so they think they’re

served so many different ways that

people can express themselves using this

to be able to take their ideas and share

their ideas with the world and it

doesn’t just stay on the screen you can

also code to interact with the physical

world around you here’s the example from

Hong Kong where some kids made a game

and then built their own physical

interface device and had a light sensor

so the late sensor detects a hole on the

board so as they moved the physical saw

the light sensor detects the hole and

controls the virtual saw on the screen

and saws down the tree we’re going to

continue look at new ways of bringing

together the physical world and the

virtual world and connecting to the

world around us this is an example from

a new version of scratch that we’ll be

releasing in the next few months and

we’re looking again to sort of be

push you in new directions here’s an

example he uses the webcam and as I move

my hand

I can pop the balloons or I can move the

bug so it’s a little bit like Microsoft

Kinect where you interact with gestures

in the world but instead of just playing

someone else’s game you get to create

the games and if you see someone else’s

game you could just say see inside and

can look at the stacks of blocks to

control it so there’s a new block that

says how much video motion there is and

then if there’s so much video motion it

will then tell the balloon to pop the

same way that this uses the camera to

get information into scratch you can

also use the microphone here’s an

example of a project using the

microphone so I’m going to let all of

you control this game using your voices

so maybe can tell you things

as kids are creating projects like this

they’re learning to code but even more

importantly they’re coding to learn

because as they learn to code it enables

them to learn many other things opens up

many new opportunities for learning

again is useful to make an analogy to

reading and writing when you learn to

read and write it opens up opportunities

for you to learn so many other things

when you learn to read you can then read

to learn as the same thing with coding

if you learn to code you can code to

learn now some of the things you can

learn to sort of obvious you learn more

about how computers work but that’s just

where it starts when you learn to code

it opens up for you to learn many other

things let me show you an example here’s

another project and I saw this when I

was visiting one of the computer

clubhouses these are after-school

learning centers that we helped start

that help young people from low-income

communities learn to express themselves

creatively with new technologies and

when I went to one of the club houses a

couple years ago I saw a 13 year old boy

who was using her scratch software to

create a game somewhat like this one and

he was very happy with his game and

proud of his game but also he wanted to

do more he wanted to keep score this was

a game where the big fish eats the

little fish but he wanted to keep score

so that each time the big fish eats a

little fish the score would go up and it

would keep track and he didn’t know how

to do that so I showed him in a scratch

you can create something called a

variable I’ll call it score

and that creates some new blocks for you

and also creates a little scoreboard to

keep track of the score so each time I

click on change score it increments the

score so I showed this to the clubhouse

member let’s call him Victor and Victor

when he saw that this block would let

him increment the score he knew exactly

what to do he took the block and he put

it into the program exactly where the

big fish eats the little fish so then

each time the big fish eats the little

fish it will increment the score and the

score will go up by one and it’s in fact

working and he saw this and he was so

excited he reached his hand out to me

and he said thank you thank you thank

you and what went through my mind was

how often is it the teachers are thanked

by their students for teaching the

variables it doesn’t happen in most

classrooms but that’s because in most

classrooms when kids learned about

variables they don’t know why they’re

learning it it’s nothing that really

they can make use of when you learn

ideas like this in scratch you can learn

it in a way that’s really meaningful and

motivating for you you can understand

the reason for vera for learning

variables and we see that kids learn it

more deeply and learn it better Victor

had I’m sure been taught about variables

of schools but he really didn’t he

wasn’t paying attention Naomi had a

reason for learning variables Sweeney

learned through coding and coding to

learn that you’re learning it in

meaningful context and that’s the best

way of learning things so his kids like

Victor are creating projects like this

they’re learning important concepts like

variables but that’s just the start

as Victor worked on this project and

created the scripts he was also learning

about the process of design how to start

with a glimmer of an idea and turn it

into a fully fledged functioning project

you know like you see here so he was

learning many different two core

principles of design about how to

experiment with new ideas how to take

complex ideas and break them down at

simpler parts how to collaborate with

other people on your projects of how to

find and fix bugs when things go wrong

how to keep persistent and to persevere

in the face of frustrations when things

aren’t working well now those are

important skills that aren’t just

relevant for coding their relevance for

all sorts of different activities now

who knows that Victor is going to grow

up and become a programmer or a

professional computer scientist it’s

probably not so likely regardless of

what he does he’ll be able to make use

of these design skills they learned

regardless of whether he grows up to be

a marketing manager or mechanic or a

community organizer that these ideas are

useful for everybody again it’s useful

to think about this analogy with

language when you become fluent with

reading and writing

you know it’s it’s not something that

you’re doing just to become a

professional writer very few people will

become professional writers but it’s

useful for everybody to learn how to

read and write again the same thing with

coding most people won’t grow up to

become professional you know computer

scientists or programmers but those

skills of thinking creatively reasoning

systematically working collaboratively

skills you develop when you code and

scratch are things that people can use

no matter what they’re doing in their

work lives and it’s not just about your

work life Kona can also enable you to

you know express your ideas and feelings

in your personal life let me end with

just one more example so this is an

example it came from after I had sent

the Mother’s Day cards to my mom she

decided that she wanted to learn scraps

so she made this project for my birthday

and sent me a happy birthday scratch

card now this project is not going to

win any prizes for design and you can

rest assured that my 83 year old mom is

not training to become a professional

programmer a computer scientist but

working on this project enabled her to

make a connection to someone that she

cares about enabled her to keep on

learning new things and continue to

practice her creativity and

helping new ways of expressing herself

so you know as we take a look and we see

that Michael Bloomberg is learning to

code all of the children of Estonia

learn to code even my mom has learned to

code don’t you think it’s about time

that you might be thinking about

learning to code if you’re interested in

giving it a try

I’d encourage you to go to the scratch

website it’s scratch.mit.edu and give a

try at coding thanks very much

那是五月的一个星期六下午,我

突然意识到第二天是

母亲节,我没有

为我妈妈准备任何东西,所以我开始

思考我应该

从母亲节送我妈妈什么我想好为什么

不 使用

与我

在麻省理工媒体实验室的研究小组一起开发

的临时软件为她制作一张

交互式母亲节卡片

认为

这将是一个

在制作自己的母亲节卡片之前使用刮擦为我妈妈制作

互动

卡片的机会 分享了他们的项目,

我想得很清楚,我想知道在这 300

万个项目中是否有其他人

想过张贴母亲节卡片,所以

在搜索框中我输入了母亲

节,我是 很惊讶和高兴地

看到

在草稿网站上出现的几十张母亲节卡片的列表,

其中许多是在

过去 24 小时内由像我这样的拖延者制作的,

所以我开始

看它们,我看到其中一张 以

一只小猫

和她的妈妈为特色,并祝她妈妈快乐

妈妈去世了,创作者非常

体贴地为她妈妈提供了重播

另一个是一个互动

项目,当您将鼠标

移到快乐妈妈节的字母上时,它会

显示一个特别的母亲节快乐

在这个口号中,创作者

讲述了她如何通过谷歌搜索

了解母亲节何时发生

,然后一旦她发现

母亲节何时发生,她就发出

了一个特别的母亲节问候,

她是多么爱她的妈妈,我真的很喜欢

看着这些项目并

与这些项目互动,事实上

我非常喜欢它,以至于

我没有制作自己的项目,而是

将我妈妈的链接发送到其中的十

几个 项目,实际上她的反应

正是我

希望她给我回信的方式,她说

我很自豪有一个儿子,他们开发

了一个软件,让这些孩子可以

为他们的母亲制作母亲节卡片,

所以我妈妈 很高兴,这

让我很高兴,但实际上我更

高兴还有另一个原因,我很高兴,

因为这些孩子正在以

我们希望他们这样做的方式使用刮擦,

那就是他们创建了

交互式母亲节卡片,你可以

看到 他们真的

对新技术变得流利 你知道

我所说的流利是什么意思 我的意思是

他们能够开始表达

自己并开始表达他们的

想法 当你能流利

使用语言时,这意味着你可以

在日记中写一篇文章 或给某人讲个笑话

或给朋友写一封信

,这与您所知道的新技术相似,

通过创建

这些孩子们展示的这些交互式母亲节卡片来编写 他们现在

真的很流利地使用新技术

也许你不会对此感到如此惊讶,

因为你知道很多时候

人们觉得今天的年轻人可以

用我们都听过的年轻人提到的技术做各种各样的事情

作为数字,

但实际上我对这个术语持怀疑态度

我不太确定我们是否应该将

年轻人视为数字

原住民

在这样或这样的情况下看到他们

,毫无疑问,

年轻人非常舒适和熟悉

浏览、聊天、发短信和

游戏,这并不能真正让你

流利,所以今天的年轻人有

很多经验,也很

熟悉互动 与新技术

相比,用新技术创造并用新技术表达自己的情况要少得多,

这几乎就像

他们可以阅读但不能用新

技术写作一样 ‘我真的

很想告诉你如何帮助菲尔变得

流利,以便他们可以使用新技术进行写作

,这实际上意味着

他们需要能够编写自己的

计算机程序或代码,因此

越来越多的人开始

认识到学习的重要性

你知道近年来的代码 他们已经

有数百个新的组织和

网站帮助年轻人

学习编码 似乎每个人

都在采取行动,

你知道在今年

年初新年之交

纽约市市长迈克尔布隆伯格你已经

制定了一个新年决心,他

将在 2012 年学习一些编码

几个月后,爱沙尼亚

决定所有一年级学生

都应该学习编码,这引发

了英国关于是否所有

孩子现在都应该学习编码的

辩论 r 你们中的一些人听到这个消息

时,

每个人都在学习编码可能会觉得有点奇怪,当许多

人想到编码时,他们认为

这是唯一一个非常狭窄的子

社区将要做的事情,他们会

想到 编码看起来像这样,

实际上如果这就是编码的样子,

那只会是

具有特殊数学技能

和技术背景的狭隘创意人,他们可以

编码编码不必像

这样让我告诉你它是什么

喜欢编写代码和从头开始,因此从头

开始编写代码,您只需将块对齐在

这种情况下,您将移动块将其卡

入股票中,并且有成堆的

块控制

游戏或故事中不同角色的行为,

在这种情况下控制

创建程序后的大鱼,

您可以单击共享,然后

与其他人共享您的项目,这样他们

就可以使用该项目并开始从事

该项目,

所以当然可以 鱼王游戏

不是您唯一可以

从 Scratch 网站上数百万个项目中做

的事情,从

动画故事到学校科学

项目,从动画肥皂剧到虚拟

建筑工具包,从

经典视频游戏的娱乐到政治观点,应有尽有

民意调查到三角学教程到

互动艺术作品,是的互动

母亲节卡片,所以他们认为他们得到了

如此多不同的方式,

人们可以用它来表达自己

,以便能够接受他们的想法并

与世界分享他们的想法,但

事实并非如此 只需停留在屏幕上,您

也可以编写代码与

周围的物理世界互动 这是来自香港的示例

,一些孩子制作了一个游戏

,然后构建了自己的物理

接口设备并有一个光传感器,

因此后期传感器检测到一个洞

当他们移动物理锯时

,光传感器会检测到孔并

控制屏幕上的虚拟锯

并锯下我们正在使用的树 我们将

继续寻找将

物理世界和

虚拟世界结合在一起并连接到

我们周围世界的新方法,这

是我们将在未来几个月内发布的新版本的示例

再次寻找

将你推向新方向的

例子 这是他使用网络摄像头的一个例子,当我移动

我的手时,

我可以弹出气球或者我可以移动

错误,所以它有点像 Microsoft

Kinect,你在其中与手势交互

世界,但不只是玩

别人的游戏,你可以

创造游戏,如果你看到别人的

游戏,你可以说看看里面,

可以看看成堆的积木来

控制它,所以有一个新的积木可以

说明视频运动的多少 有,

然后如果有这么多的视频运动,它

会告诉气球弹出,

就像它使用相机来

获取信息一样你

也可以使用麦克风这里是一个

使用 micr 的项目示例

ophone,所以我会让你们所有人

用自己的声音控制这个游戏,

这样也许可以告诉你一些事情,

因为孩子们正在创建这样的项目,

他们正在学习编码,但更

重要的是,他们正在学习编码,

因为随着他们的学习 编写代码 让

他们能够学习许多其他东西

为再次学习开辟了许多新机会

阅读,然后阅读

,学习与编码相同的东西

如果你学习编码,你现在可以编码来

学习一些你可以

学习的东西,很明显你会更多地

了解计算机的工作原理,但这

只是它开始的地方 你学会编码

它为你打开了学习许多其他的

东西让我给你看一个例子这是

另一个项目我

在参观其中一个计算机

俱乐部时看到了这个,这些是我们的课后

学习中心 帮助

开始帮助来自低收入

社区的年轻人学会

用新技术创造性地表达自己,

当我几年前去其中一个俱乐部时,

我看到一个 13 岁的

男孩正在使用她的临时软件

创建游戏 有点像这个,

他对自己的比赛很满意,为自己的

比赛感到自豪,但他也

想做更多他想保持得分这是

一场大鱼吃小鱼的比赛,

但他想保持得分,

这样每个人 当大鱼吃掉一条

小鱼时,分数会上升,它

会保持跟踪,他不知道该

怎么做,所以我从头开始向他展示

你可以创建一个叫做

变量的东西,我称之为

分数 为您创建一些新块,

并创建一个小记分牌来

跟踪分数,所以每次我

点击更改分数时,它都会增加

分数,所以我向俱乐部成员展示了这个,

当他看到这个块时,我们称他为 Victor 和 Victor 会 d 让

他增加分数 他确切

知道该怎么做 他拿了块并将

其放入程序中大鱼吃小鱼的确切位置,

因此

每次大鱼吃小鱼时,

它都会增加分数和

分数会上升 1 并且实际上

有效,他看到了这一点,他非常

兴奋,他向我伸出了手

,他说谢谢谢谢

谢谢,我的想法

是老师们多久一次

感谢他们的学生教授

变量这在大多数教室中不会发生,

但这是因为在大多数

教室中,当孩子们了解

变量时,他们不知道他们为什么要

学习它

,当你学习时,他们真的没有什么可以利用的

像这样从头开始的想法 你可以

用一种对你来说真正有意义和激励的方式来学习它

你可以理解

Vera 学习变量的原因

,我们看到孩子们学

得更深入,学得更好

我被教过

关于学校的变量,但他真的没有,

他没有注意

Naomi 学习变量是有原因的

所以他的孩子

像维克多正在创建这样的项目

他们正在学习变量等重要概念,

但这

只是维克多在这个项目上工作并

创建脚本的开始,他还在

学习设计过程如何

从一线开始 一个想法,并将其

变成一个成熟的功能项目,

你知道就像你在这里看到的那样,所以他正在

学习许多不同

的设计的两个核心原则,关于如何

试验新想法如何接受

复杂的想法并将它们分解成

更简单的部分如何协作 与

其他人一起参与您的项目,了解如何在出现

问题时发现和修复错误

如何在瘦弱时保持坚持和

面对挫折时坚持不懈 gs

现在运作不佳 这些

重要技能不仅

与编码它们与各种不同活动的相关性有关

很可能

无论他做什么,他都将能够利用

他们学到的这些设计技能

,无论他长大后

成为营销经理、机械师还是

社区组织者,这些想法

对每个人都有用

,思考一下很有用 这种与

语言的类比 当你能流利地

阅读和写作时,

你知道这不是

你为了成为一名

专业作家而做的

事情 与编码相同的事情

大多数人不会长大

成为专业人士,您知道计算机

科学家或程序员,但那些

思考技能

系统地推理 系统地 协作 工作

您在编写代码和从头开始时开发的技能

是人们可以使用的东西,

无论他们在

工作生活中做什么,这不仅仅是您的

工作生活 Kona 还可以让

您知道表达您的想法和

你个人生活中的感受让我

再举一个例子结束,这是一个

例子,我

把母亲节卡片寄给我妈妈后

,她决定要学习碎片,

所以她为我的生日做了这个项目

并发送 我生日快乐

刮刮卡现在这个项目不会

赢得任何设计奖,你可以

放心,我 83 岁的妈妈

没有接受培训成为一名专业

程序员和计算机科学家,但

在这个项目上的工作使她能够

制作一个 与她

关心的人的联系使她能够不断

学习新事物并继续

练习她的创造力并

帮助表达自己的新方式,

以便您了解 我们看一下,我们

看到迈克尔·布隆伯格正在学习

编码爱沙尼亚的所有孩子都在

学习编码,甚至我妈妈也学会了

编码,你不认为现在是时候

考虑

学习编码了吗? ‘有兴趣

尝试一下,

我鼓励你去临时

网站,它是 scratch.mit.edu 并

尝试编码非常感谢