Looking Glass: Supporting Learning from Peer Programs

Title: "Looking Glass: Supporting Learning from Peer Programs"

Speaker: Dr. Caitlin Kelleher, Computer Science and Engineering, Washington University in St. Lois

When: Friday, Feb 27, 2009

Time: 11:15am-12:15pm

Where: Torgersen 2150


Computer programming has become a fundamental tool that enables progress across a broad range of disciplines including basic science, communications, and medicine. Yet, Computer Science is failing to attract the number of students necessary to sustain progress both within the discipline and in those disciplines supported by computer science. Some recent research has focused on creating programming environments that introduce young students to computer programming in a motivating context. One of these systems, Storytelling Alice motivates middle school children, particularly girls, to learn programming in order to build animated stories. In a formal study, we found that 51% of Storytelling Alice users versus 17% of Generic Alice users snuck extra time to keep programming. While a motivating context for learning computer programming is necessary to increase the number of young students who learn to program, it is not sufficient. For many pre-high school students, formal opportunities to learn computer science simply do not exist. We are currently working on a new system called Looking Glass which maintains storytelling as a motivating context and focuses on developing user interface support that enables middle school aged children to easily and effectively teach themselves using programs created by peers. Looking Glass will incorporate tools that enable users to identify sections of peer written programs that interest them and then follow automatically generated tutorials to learn how to create the selected sections of those programs in their own context. In this talk, I will describe our proposed framework for supporting users in learning from peer-created programs, present results from an exploratory study of novice programmers searching for code in unfamiliar programs and a prototype code-finding tool.