Placeholder Image

Subtitles section Play video

  • 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 for Mother's Day?

  • I thought, why don't I make her

  • an interactive Mother's Day card

  • using the Scratch software that I'd been developing

  • with my research group at the MIT Media Lab?

  • We developed it so that 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, I wonder if, of those three 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. (Music)

  • I saw one of them that featured a kitten

  • and her mom and wishing her mom a happy Mother's Day.

  • And the creator very considerately

  • offered a replay for her mom.

  • Another one was an interactive project where,

  • when you moved the mouse over the letters of "Happy Mom Day,"

  • it reveals a special happy Mother's Day slogan.

  • (Music) In this one, the creator told a narrative

  • about how she had Googled to find out

  • when Mother's Day was happening.

  • (Typing) 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.

  • So 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. (Laughter)

  • 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 that created the 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 had hoped that they would.

  • As they created their interactive Mother's Day cards,

  • you could see that they were really

  • becoming fluent with new technologies.

  • What do I mean by fluent?

  • I mean that they were able to start expressing themselves

  • and to start expressing their ideas.

  • 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.

  • By writing, be 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 a lot of times people feel that

  • young people today can do all sorts of things with technology.

  • I mean, all of us have heard young people referred to as "digital natives."

  • 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 it, 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.

  • But that doesn't really make you fluent.

  • So young people today have lots of experience

  • and lots of familiarity with interacting with new technologies,

  • but a lot less so of creating 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 seeing, how can we help young people 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, there have been

  • hundreds of new organizations and websites

  • that are helping young people learn to code.

  • You look online, you'll see places like Codecademy

  • 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

  • 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 the U.K.

  • 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 that 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-community of people

  • with special mathematical skills and technological background

  • that can code.

  • But coding doesn't have to be like this.

  • Let me show you about what it's like to code in Scratch.

  • So in Scratch, to code, you just snap blocks together.

  • In this case, you take a move block,

  • snap it into a stack,

  • and the 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've created your program, you can click on "share,"

  • and then share your project with other people,

  • so that 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 on 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 I think there's 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 an 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 light sensor

  • detects the hole in the board,

  • so as they move 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 to 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 be able

  • to push you in new directions.

  • Here's an example.

  • It 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 can just say "see inside,"

  • and you can look at the stacks of blocks that 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.

  • (Crickets chirping) (Shouts) (Chomping)

  • (Laughter)

  • (Applause)

  • 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, it's 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.

  • And it's the same thing with coding.

  • If you learn to code, you can code to learn.

  • Now some of the things you can learn are 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 clubhouses a couple years ago,

  • I saw a 13-year-old boy who was using our 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.

  • So 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 the 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 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 that keeps 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,

  • he 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 that teachers are thanked by their students

  • for teaching them variables? (Laughter)

  • It doesn't happen in most classrooms,

  • but that's because in most classrooms, when kids learn 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,

  • that you can understand the reason 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 in schools,

  • but he really didn't -- he wasn't paying attention.

  • Now he had a reason for learning variables.

  • So when you learn through coding, and coding to learn,

  • you're learning it in a meaningful context, and that's the best way of learning things.

  • So as 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 the glimmer of an idea

  • and turn it into a fully-fledged, functioning project

  • like you see here.

  • So he was learning many different core principles of design,

  • about how to experiment with new ideas,

  • how to take complex ideas and break them down into simpler parts,

  • how to collaborate with other people on your projects,

  • about 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.

  • They're relevant for all sorts of different activities.

  • Now, who knows if Victor is going to grow up and become

  • a programmer or a professional computer scientist?

  • It's probably not so likely,

  • but regardless of what he does,

  • he'll be able to make use of these design skills that he learned.

  • Regardless of whether he grows up to be a marketing manager

  • or a 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,

  • it's not something that you're doing

  • just to become a professional writer.

  • Very few people 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

  • computer scientists or programmers,

  • but those skills of thinking creatively,

  • reasoning systematically, working collaboratively --

  • skills you develop when you code in 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.

  • Coding can also enable you to

  • express your ideas and feelings in your personal life.

  • Let me end with just one more example.

  • So this is an example that came from

  • after I had sent the Mother's Day cards to my mom,

  • she decided that she wanted to learn Scratch.

  • 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 or computer scientist.

  • But working on this project enabled her

  • to make a connection to someone that she cares about

  • and enabled her to keep on learning new things

  • and continuing to practice her creativity

  • and developing new ways of expressing herself.

  • So 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. (Applause)

It was a Saturday afternoon in May,

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it