projects (such as birthday cards and
messages of appreciation) are intended
to cultivate relationships. Others are
designed to raise awareness on social
issues (such as global warming and animal abuse). During the 2008 U.S. presidential election, a flurry of projects featured Barack Obama and John McCain
and later a series of projects promoted
members of the Scratch online community for the not-quite-defined position
of “President of Scratch.”
Some Scratch projects grow out of
school activities. For an Earth-science
class, a 13-year-old boy from India created a project in which an animated
character travels to the center of the
Earth, with a voice-over describing the
different layers along the way. As part of
a social-studies class, a 14-year-old boy
from New Jersey created a simulation of
life on the island of Rapa Nui, designed
to help others learn about the local culture and economy.
As Scratchers work on personally
meaningful projects, we find they are
ready and eager to learn important
mathematical and computational
concepts related to their projects (see
Figure 5). Consider Raul, a 13-year-old
boy who used Scratch to program an interactive game in his after-school center.
9 He created the graphics and basic
actions for the game but didn’t know
how to keep score. So when a researcher on our team visited the center, Raul
asked him for help. The researcher
showed Raul how to create a variable
in Scratch, and Raul immediately saw
how he could use it for keeping score.
He began playing with the blocks for
incrementing variables, then reached
out and shook the researcher’s hand,
saying “Thank you, thank you, thank
you.” The researcher wondered how
many eighth-grade algebra teachers
get thanked by their students for teaching them about variables?
more social
Development of the Scratch programming language is tightly coupled with
development of the Scratch Web site.
12
For Scratch to succeed, the language
needs to be linked to a community
where people can support, collaborate,
and critique one another and build on
one another’s work.
1
The concept of sharing is built into
the Scratch user interface, with a prom-
three core design
principles for
scratch: make it
more tinkerable,
more meaningful,
and more social
than other
programming
environments.
inent “Share” menu and icon at the top
of the screen. Click the Share icon and
your project is uploaded to the Scratch
Web site (see Figure 6) where it is displayed at the top of the page, along with
the “Newest Projects.” Once a project is
on the Web site, anyone can run it in a
browser (using a Java-based player),
comment on it, vote for it (by clicking
the “Love It?” button), or download it
to view and revise the scripts. (All projects shared on the site are covered by
Creative Commons license.)
In the 27 months following the
Scratch launch, more than 500,000 projects were shared on the Scratch Web site.
For many Scratchers, the opportunity
to put their projects in front of a large
audience—and receive feedback and
advice from other Scratchers—is strong
motivation. The large library of projects
on the site also serves as inspiration. By
exploring projects there, Scratchers get
ideas for new projects and learn new
programming techniques. Marvin Minsky once said that Logo had a great grammar but not much literature.
11 Whereas
young writers are often inspired by reading great works of literature, there was
no analogous library of great Logo projects to inspire young programmers. The
Scratch Web site is the beginning of a
“literature” for Scratch.
The site is also fertile ground for
collaboration. Community members
are constantly borrowing, adapting,
and building on one another’s ideas,
images, and programs. Over 15% of
the projects there are remixes of other projects on the site. For example,
there are dozens of versions of the
game Tetris, as Scratchers continue
to add new features and try to improve
gameplay. There are also dozens of
dress-up-doll projects, petitions, and
contests, all adapted from previous
Scratch projects.
At first, some Scratchers were upset
when their projects were remixed, complaining that others were “stealing”
from them. That led to discussions on
the Web site’s forums about the value
of sharing and the ideas behind open
source communities. Our goal is to create a culture in which Scratchers feel
proud, not upset, when their projects
are adapted and remixed by others. We
have continually added new features to
the site to support and encourage this
mind-set. Now, when someone remixes