To enable girls to create the kinds of stories they envisions, I found it was necessary to create a set of high-level animations. To capture girls' story visions, I asked them to create detailed storyboards using a 3-step storyboarding process. In the first step, girls wrote a "back of the DVD box" description of their stories. In step two, they broke their stories into scenes. And, in step three, girls created drawings and textual descriptions of 6-9 frames for each scene. By analyzing these storyboards, I was able to identify a small number of animations necessary to create the kinds of stories girls envisioned. In Storytelling Alice, people can talk and think through speech bubbles, walk, change body positions, and touch objects.

Kelleher, C. and Pausch, R. Lessons Learned from Designing a Programming System to Support Middle School Girls Creating Animated Stories. VL/HCC 2006, 165-172.

 

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. Stencils-based tutorials: design and evaluation. CHI 2005, 541-550

 

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.

Through further user testing that did not impose constraints about which content users could work with, I found two techniques that help users develop story ideas they are motivated to pursue: 1) provide caricatured characters with clear roles and 2) provide character-specific animations that require explanation within the user's story.

 

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. ACM Surveys, June 2005.

 

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 www.alice.org.

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

 

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.