Making Programming More Attractive to Middle School Girls

Caitlin Kelleher


As computer technology reaches an ever-widening segment of our population, it is increasingly important that we design new technologies for diverse users. Though one of the best ways to do this is to have a diverse group of people involved in the creation of new technologies, current technology design groups do not adequately represent their intended users. Women are one of the largest under-represented groups in Computer Science and middle school is a critical period during which many girls decide whether or not to pursue math and science. To make the most impact on the number of women in Computer Science, we must intercede with female students by middle school. As part of my thesis work, I am designing a programming system for middle school girls based on Alice. Some research suggests that girls may be more interested in the potential applications for computers and programming than they are in computers as artifacts. I believe that a programming system for middle school girls must allow girls to create something they find personally relevant. I have chosen to focus on motivating programming through storytelling. Storytelling is appealing because: 1) it has broad appeal to people of all ages, cultures, and genders 2) it is a creative activity that allows girls to experiment with different roles, an activity which is a central part of adolescence.

Kelleher, C. (2003). Motivating Programming: using storytelling to make computer programming attractive to more middle school girls. Carnegie Mellon University thesis proposal.


Related Projects




Alice is a programming environment for creating 3D animated virtual worlds that was designed to make programming accessible to novice programmers from middle school through early college. Alice provides a drag and drop environment which allows students to gain experience with a variety of programming constructs without encountering the frustrations of syntax errors. By making the process of learning less frustrating, Alice helps a broader spectrum of students interested in learning to program get started.

Download Alice for free at

Kelleher, C., Cosgrove, D., Culyba, D., Forlines, C., Pratt, J., and Pausch, R. Alice2: Programming without Syntax Errors. Demo at UIST 2002.


Survey: Programming Languages and Environments for Novice Programmers

In creating a new system designed to attract a broader range of people to programming, it is important to understand the approaches others have previously tried. I did an extensive survey and taxonomy of programming languages and environments intended for use by novice programmers.

Kelleher, C. and Pausch, R. Lowering the Barriers to Programming: a survey of programming environments and languages for novice programmers. Accepted for ACM Surveys, October 2004.


Stencils Tutorial

Research suggests that girls may be drawn to computers by an interest in what they can accomplish using computers (Margolis, Fisher 2002). Like most programming systems, Alice originally had a tutorial that focused on introducing features of the system without providing a lot of examples of ways that users might want to use those features. Through user testing, I found that while girls could successfully complete the tutorial, they were often uninterested in continuing to use Alice because they did not see how Alice could be used in pursuit of projects that interested them.  I created a new tutorial focusing on projects that we believed would be of interest to girls. However, in creating the new tutorial, I found that the tutorial worlds were necessarily more complex, creating much greater potential for user errors. To alleviate this problem, I created a new interaction technique called Stencils that guides the user through the tutorial using instructions displayed over top of the existing interface. The tutorial can draw users' attention to particular components and prevents users from interacting with components not used in the current step.

Kelleher, C., Forlines, C., and Pausch, R. Stencil-Based Help and Tutorials. Carnegie Mellon Tech Report CMU-CS-02-125.

In a study comparing the performance of middle school girls using a paper-based and Stencils-based version of the same tutorial, I found that the users of the Stencils-based tutorial completed the tutorial 26% faster, made fewer mistakes, and required less human assistance to make progress. Users of the Stencils-based and paper-based tutorials performed statistically similarly on a quiz designed to assess mastery of the tutorial material.

Kelleher, C. and Pausch, R. Stencil-Based Help and Tutorials. Submitted CHI 2005



Generation Faerie

Through user testing, I found that middle school girls often browse the 3D characters and objects available in the Alice gallery to find story inspiration. Generation Faerie was an early attempt to create Alice objects for middle school girls. As part of the Generation Faerie project, a group of Entertainment Technology Masters students and I developed a set of Alice characters and supporting scenery inspired by a focus group and media marketed towards middle school aged girls.


Alice StoryKits

Through user testing, I found that middle school girls' success or failure at creating their own animated stories in Alice is closely tied to the characters and objects they choose to add to their Alice worlds. In the Alice StoryKits project, and Entertainment Technology Master's student, Jessica Trybus, and I led a class of 13 Carnegie Mellon undergraduate students from a variety of majors in creating StoryKits: collections of characters and objects designed to help middle school girls get started telling stories in Alice. We invited a group of 10 middle school students (7 girls and 3 boys) from the local Pittsburgh area to come to Carnegie Mellon each Friday and create stories using our StoryKits. Based on our observations of the middle school students, we developed 16 different StoryKits and a set of guidelines for the creation of successful StoryKits.


User Testing

My approach to designing a programming system for middle school girls is strongly based on user testing. By working with a wide variety of middle school girls, I hope to identify the most important factors in giving girls a positive experience with programming. Below is a list of some of the groups I have worked with over the last few years.


Trillium Council Cadette Girl Scout Troops

Fall 2004, 54 students:
I am currently conducting a series of workshops for local Cadette girl scout troops. In these workshops, I am refining and evaluating the impact of changes made to Alice in support of storytelling.


Houston Museum of Natural Science- Summer Camp

July 2004, 20 students:
I taught a 3 day summer camp at the Houston Museum of Natural Science. The students used a modified version of Alice that includes support for multiple scenes and several animations designed to make it easier to move characters relative to each other.


Carnegie Museum of Natural History

Spring 2003, Spring 2004, Fall 2005, 70 students:
The Carnegie Museum offers classes for homeschoolers in the Pittsburgh area. I offered several 2 session Alice classes in which students complete the Alice tutorial and then build an Alice world.


North Pittsburgh Homeschool Enrichment Program

Spring 2004, 19 students:
In this class, I compared the behavior of students using the Alice gallery vs. Alice StoryKits to create animated stories.


People Always Learning Something (PALS)

Spring 2004, 16 students:
I compared the behavior of students using the Alice gallery vs. Alice StoryKits to create animated stories.


Georgia Tech's Technology, Engineering, and Computing Camp

Summer 2003, 30 students:
As part of Georgia Tech's Technology, Engineering, and Computing camp, I held a weeklong Alice class. Middle school girls attending the camp completed the Alice tutorial and created their own animated stories. Because the class was longer than a typical Alice workshop, many of the girls were able to begin to create their own methods, experiment with other programming constructs, and use more advanced Alice features such as camera motion.


IBM Women in Technology Outreach Workshop

Spring 2003,15 students:
I conducted an Alice workshop at a school outside Toronto in cooperation with the IBM Women in Technology outreach program. Students had 3 hours in which to complete the Alice tutorial and create their own animated story using the Alice StoryKits.


The Neighborhood Academy

Spring 2003, 10 students:
The Neighborhood Academy is an independent school serving Pittsburgh's inner-city youth. I ran an Alice class for 10th grade students in which they learned basic programming constructs while creating simple animations for 3D characters.


CMAP - Summer Academy for Minority Students

Summer 2002, 40 students:
The Carnegie Mellon Action Project (CMAP) runs a summer program for minority high school students. As part of this program, we offered a game programming class using Alice.