ment with concrete objects that make
it easy for students to create expressive
animated movies, similar to film shorts
created by professionals in animation
studios such as Pixar and Disney. Students are engaged by the whimsical
characters and get caught up in the excitement of creating animated movies
or simple games. Students are learning
how to create an animation, but also
are learning about sequence, conditionals, Boolean expressions, repetition, and even concurrent execution.
Alice 2 brings a different form of
magic and beauty into teaching and
learning fundamental programming
concepts as students build animated
movies and interactive games. Alice’s
drag-and-drop editor prevents syntax
errors that often frustrate beginning
programmers. And, by engaging and
stimulating students’ creativity, Alice
encourages students to invest more
time on task. But does it work? Do students actually learn the concepts? Is it
effective in retaining students?
The Alice approach consists of the
current Alice 2 and Learning to Program
with Alice2 pedagogy and instructional
materials, which were developed and
disseminated with NSF support. To
investigate the effectiveness of this approach, we carried out a pilot study, primarily targeting a pre-CS1 audience.
3
In this study, we saw that at-risk computing majors who were exposed to
Alice were nearly twice as likely to continue on to CS2 as their control-group
peers who had not been exposed to Alice (88% versus 47% retention). Beyond
CS2, the at-risk students who had been
exposed to Alice performed comparably to their non-at-risk peers. Unfortunately, the high attrition among at-risk
students who had not been exposed to
Alice resulted in too few control-group
students remaining to meaningfully
measure how they performed in later
courses as compared to the students
who had been exposed to Alice.
We have been tracking Alice adoption in colleges. To our knowledge, well
over 10% of colleges and universities in
the U.S. have adopted Alice and we are
currently experiencing an explosion
into high schools, as well as increasingly with schools abroad and in middle
school. We distribute our monthly Alice
e-newsletter to more than 2,000 educators (nearly half of whom are K– 12
The teacher can
gradually lead
students from the
concrete context of
animation to abstract
data and structures
in Java and a
traditional context.
teachers, and more than 300 of whom
have email addresses indicating they
teach at institutions outside the U.S.).
moving from the concrete
to the Abstract
Alice 2 provides the concrete, but what
about the abstract? No matter how
much fun Alice 2 may be, computing
students must eventually move to the
abstract and into a production-level
language such as Java, C++, Python,
C#, or (your choice here). And, one
message we have heard loud and clear
from many computing educators at
liberal arts and community colleges
and at comprehensive universities is
a demand for software, curriculum,
and instructional materials that can
be used to blend the Alice approach
with Java in a regular CS1 course.
One reason for this demand is the
difficulty of adding a pre-CS1 course
to curricula in liberal arts colleges
where the number of courses that can
be offered is limited by two factors:
a small number of faculty available
for teaching courses; and the need
to balance the number of courses
required for the major with a heavy
load of required general education
courses. Responding to this demand,
Alice 3 targets CS1 or AP CS courses.
(Alice 2 continues to be supported for
pre-CS1 and CS0 courses.)
Alice 3 is currently undergoing extensive beta testing. Not only are we
tracking bugs we are also obtaining
feedback from teachers and students
regarding three important features
designed to support a concrete to abstract approach. The first is the teacher
has a choice regarding how close to
Java their students will begin. Two versions of the drag-and-drop interface
are provided: one in a familiar, natural
language style and with minimal syntax and one in actual Java code.
The second feature is more subtle.
Animation programs constructed in
Alice 2 use built-in motion methods,
(such as move, turn, and roll). This
means students sometimes need to
focus attention on mechanics of turning an object’s body joints to obtain a
reasonable walk, skate, or peck (for a
chicken) animation. Alice 3 provides
two galleries with a richer set of animations: the Alice 2 characters and
the Sims2 characters (contributed
by Electronic Arts). Richer primitive
animations enable students to design
and program animations at a higher,
more abstract level.
The third feature is a transition option that allows students to “open the
hood” and type Java code, edit, and run
it in the NetBeans text-based Java integrated development environment. This
provides an ability to start in Alice’s 3D
animation environment and transition
to programming in actual Java code.
The teacher can gradually lead students from the concrete context of animation to abstract data and structures
in Java and a traditional context.
The path toward helping students
think “like a computer scientist…
thinking at multiple levels of abstraction”
6 is an exciting and challenging
one. We believe Alice 3 is one step
along that path.
References
1. Computing research association; http://www.cra.org/.
2. Dann, W.P., Cooper, s,. and Pausch, r. Learning to
Program with Alice. Prentice hall, 2006.
3. Moskal, b., lurie, D., and Cooper, s. evaluating the
effectiveness of a new instructional approach. In
Proceedings of the 35th SIGCSE Technical Symposium
on Computer Science Education (norfolk, Virginia,
March 3–7, 2004). sIGCse ‘04. aCM, new york, ny,
75–79.
4. rutherford, f.J. and ahlgren, a. Science for All
Americans. second edition. oxford university Press,
1991.
5. Violino, b. time to reboot. Commun. ACM 52, 4 (apr.
2009), 19.
6. Wing, J. M. Computational thinking. Commun. ACM 49,
3 (Mar. 2006), 33–35.
Wanda Dann ( wpdann@andrew.cmu.edu) is the director
of the alice Project and an associate teaching professor
in the computer science department at Carnegie Mellon
university, Pittsburgh, Pa.
Stephen Cooper ( scooper@sju.edu) is an associate
professor and the director of the Center for Visualization
at saint Joseph’s university, Philadelphia, Pa.