BLOGGER TEMPLATES AND TWITTER BACKGROUNDS

Wednesday, February 6, 2013

Mitch Resnick: Let's teach kids to code

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.

Young people today have lots of experience … interacting with new technologies, but a lot less so of creating [or] expressing themselves with new technologies. It's almost as if they can read but not write.” (Mitch Resnick)

“When you learn through coding, [you're] coding to learn. You're learning it in a meaningful context, and that's the best way of learning things.” — Mitch Resnick

Young people today have lots of experience … interacting with new technologies, but a lot less so of creating [or] expressing themselves with new technologies. It's almost as if they can read but not write.” (Mitch Resnick)

Interact: Scratch program
Homepage: Mitchel Resnick
Website: Lifelong Kindergarten program

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 cardsthat 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, 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.
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 ableto 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.
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 startthat 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 ideaand 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.

No comments:

Post a Comment