She periodically added new characters to her series and at one point asked
why not involve the whole Scratch community in the process? She created and
uploaded a new Scratch project that
announced a “contest,” asking other
community members to design a sister
for one of her characters (see Figure 1).
The project listed a set of requirements
for the new character, including “Must
have red or blue hair, please choose”
and “Has to have either cat or ram
horns, or a combo of both.”
The project received more than 100
comments. One was from a community member who wanted to enter the
contest but said she didn’t know how
to draw anime characters. So BalaBethany produced another Scratch project,
figure 2. sample scratch scripts.
a step-by-step tutorial, demonstrating
a 13-step process for drawing and coloring anime characters.
Over the course of a year, BalaBethany programmed and shared more
than 200 Scratch projects, covering a
range of project types (stories, contests,
tutorials, and more). Her programming
and artistic skills progressed, and her
projects clearly resonated with the
Scratch community, receiving more
than 12,000 comments.
Why Programming?
It has become commonplace to refer to
young people as “digital natives” due
to their apparent fluency with digital
technologies.
15 Indeed, many young
people are very comfortable sending
text messages, playing online games,
and browsing the Web. But does that
really make them fluent with new technologies? Though they interact with
digital media all the time, few are able
to create their own games, animations,
or simulations. It’s as if they can “read”
but not “write.”
As we see it, digital fluency requires
not just the ability to chat, browse, and
interact but also the ability to design,
create, and invent with new media,
16 as
BalaBethany did in her projects. To do
so, you need to learn some type of programming. The ability to program provides important benefits. For example,
it greatly expands the range of what you
can create (and how you can express
yourself) with the computer. It also expands the range of what you can learn.
In particular, programming supports
“computational thinking,” helping you
learn important problem-solving and
design strategies (such as modulariza-tion and iterative design) that carry
over to nonprogramming domains.
18
And since programming involves the
creation of external representations of
your problem-solving processes, programming provides you with opportunities to reflect on your own thinking,
even to think about thinking itself.
2
Previous Research
When personal computers were first
introduced in the late 1970s and 1980s,
there was initial enthusiasm for teaching all children how to program. Thousands of schools taught millions of students to write simple programs in Logo
or Basic. Seymour Papert’s 1980 book
Mindstorms13 presented Logo as a cornerstone for rethinking approaches to
education and learning. Though some
children and teachers were energized
and transformed by these new possibilities, most schools soon shifted
to other uses of computers. Since that
time, computers have become pervasive in children’s lives, but few learn
to program. Today, most people view
computer programming as a narrow,
technical activity, appropriate for only