The Alice Project: A Different Way to Teach Introductory Computer Science


October 4, 2006


Caitlin Kelleher


Carnegie Mellon University


The number of CS majors has declined by 50 percent in the last five years, despite the fact that the projected need for computer scientists continues to grow. The goal of the Alice project is to provide a positive first experience with computer programming (currently the most common gateway to computer science), to middle school students through college freshman. Alice allows students to use a drag-and-drop interface to construct Java-like programs whose outputs are 3D computer-generated movies. NSF-funded validation at the freshmen level has shown that exposing “at risk” CS majors to the Alice system improves grades in CS1 by a full letter grade, and dramatically improves retention (without Alice, only 47 percent go on to CS2, but with Alice, 88 percent continue. Approximately 200 colleges are now teaching with Alice, and we appear to be on an exponential adoption curve. While it is important to retain students who enter computer science, a larger challenge for computer science is to attract a larger and more diverse group of students into computer science. A variation of the Alice system designed by Ph.D. student Caitlin Kelleher targets middle school girls and focuses on the activity of storytelling. When introduced to computer programming as a means to the end of storytelling, girls are more motivated to program: users of Storytelling Alice spent 54% more time programming than users of a generic version of Alice and 51% of Storytelling Alice users (as compared to 16% of Generic Alice users) snuck extra time to continue working on their programs.

Electronic Arts (EA), the world’s largest video game maker, is helping underwrite the next version of Alice, and has donated all of the 3D models and animation data from “the Sims,” the most popular PC game in history, for use in the next version of Alice. Alice v3.0 will include the Sims and provide a drag-and-drop Java IDE enabling movie and game creation with the Sims characters, as well as arbitrary computation in Java.


Caitlin Kelleher

Caitlin Kelleher is a National Science Foundation Graduate Fellow who completed her bachelor’s degree at Virginia Tech, where she majored in Computer Science and minored in Physics and Math. At this time of this talk, she will have just completed her Ph.D. in Computer Science at Carnegie Mellon University. Her thesis work is on designing a version of The Alice project for middle school girls that presents programming as a means to the end of storytelling.