Scratch is a new graphical-programming environment that enables young people (ages 8 and up) to create their own interactive stories, games, and animations – and share their creations on the web. Scratch is designed to make programming more tinkerable, more meaningful, and more social. Since Scratch was launched in May 2007, more than 300,000 projects have been shared on the Scratch website, which has been called “the YouTube of interactive media.” As young people create and share Scratch projects, they learn to think creatively, reason systematically, and work collaboratively. Scratch is a project of the Lifelong Kindergarten group at the MIT Media Lab, directed by the distinguished educational researcher, Mitchel Resnick.
Scratch aims to broaden the audience for computer programming by making programming:
• More tinkerable. To create programs in Scratch, you simply snap graphical blocks together into stacks. The blocks are designed to fit together only in ways that make syntactic sense, so there are no syntax errors. Different data types have different shapes, eliminating type mismatches. You can make changes to stacks even as programs are running, so it is easy to experiment with new ideas incrementally and iteratively.
• More meaningful. We designed Scratch to support a wide range of different types of projects, so that people with diverse backgrounds and interests can all work on personally-meaningful projects. In particular, Scratch enables people to programmatically control graphics, animations, music, and sound, extending the media-manipulation activities that are popular in today’s youth culture.
• More social. Scratch makes it easy to share projects on the web – and remix projects created by others. On the Scratch website, members are constantly borrowing and building upon one another’s ideas, images, and programs. More than 15% of the projects on the website are modified versions of other projects on the site.