One of the most popular online destinations on the MIT network is not a website for scientists, engineers or college students, but an online community where kids learn to code.
Every day, thousands of young people, ages 8 and up, gather on MIT’s Scratch website, where they program their own interactive stories, games, animations and simulations — and share their creations with one another. They account for nearly 10 percent of all visits to MIT webpages. Translated into 50 languages, Scratch has become one of the world’s most popular ways for young people to learn to code.
This week, the MIT Media Lab launched a new version of Scratch, called Scratch 2.0, which moves the programming community into the cloud, so members can examine, experiment with and remix one another’s programs directly in the web browser, without any uploading or downloading.
As with earlier versions of Scratch, young people create computer programs by snapping together colorful graphical blocks. In Scratch 2.0, there are new blocks for creating new types of projects, such as online surveys and games that respond to real-world movements (by using webcams as sensors). Community members can also create their own custom blocks from existing blocks — and share their new blocks with others.
In developing Scratch 2.0, the Media Lab’s Scratch Team sought input from the Scratch community, which posted more than 3,000 suggestions and design ideas. For example, a debate between advocates of different graphics formats led the team to develop an integrated paint editor that combines bitmap and vector graphics.
Many people view coding as a narrow technical activity — a valuable job skill useful for only a small subset of the population — but Scratch aims to make coding accessible and appealing for everyone, says Mitchel Resnick, the LEGO Papert Professor of Learning Research at the MIT Media Lab and director of the Scratch Team. “Just as everyone should learn to write, everyone should learn to code,” he says. “The ability to code is an important part of fluency in the 21st century.”
In the Scratch community, young people see coding as a new means of expression, Resnick says: They combine art, music and programming scripts to create a wide diversity of projects, such as animated stories, virtual tours, science simulations, public service announcements, multimedia art projects, interactive tutorials and community newsletters. Since the launch of Scratch in 2007, its community members have shared more than 3 million projects on the website, with thousands of new projects added every day.
As young people create and share projects, they learn not only specific technical skills, but also broader strategies for solving problems, designing projects, communicating ideas and working collaboratively — valuable skills for everyone to have, Resnick says. “Scratchers aren’t just learning to code, they’re coding to learn,” he says.
Scratch is used in many contexts (homes, schools, libraries, community centers), at many age levels (from elementary school to college), and across many disciplines (math, computer science, language arts, social studies). Although designed primarily for ages 8 to 16, Scratch has been used in introductory computer science courses at some universities.
More than 1.5 million people have registered on the Scratch website, and many of them show a deep commitment to the community, Resnick says. As part of the transition to Scratch 2.0, the Scratch Team asked young members to submit projects on the theme of “Why Do You Scratch?” One of many responses came from a girl who had joined the community six months earlier.
“Scratch allows people to be creative on so many different levels. On Scratch, you can be anything, an artist, a programmer, a musician, a writer and so much more,” she wrote. “The very best thing about Scratch to me is the amazing, amazing community of people to work with. I love doing all sorts of [collaborations] with people, and I love seeing what others do as inspiration. The whole website and the ability to post projects and look at others easily is what really makes Scratch different from all other programming languages out there.”