The purpose of this project is to develop and evaluate user interface tools that enable middle school students to effectively teach themselves the basics of computer programming using programs written by peers. The proposed tools will enable middle school users to 1) identify interesting functionality within programs written by peers and 2) re-create that functionality for use in their own programs through automatically generated custom tutorials. As users complete these tutorials to re-create functionality selected from programs their peers have written, they will be introduced to a broad range of programming concepts and constructs. The project will include user testing to both guide and evaluate the development of 1) user interface tools that enable novice programmers to find code of interest in an unfamiliar codebase and 2) technology to automatically generate customized tutorials based on a recorded history of the sequence of user interface actions used to construct a program.

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. Opportunities to study computer science during middle school (when many students begin to opt out of math and science based careers) are rare. This project will enable middle school children to teach themselves computer programming using programs created by their peers. The project will be implemented within Storytelling Alice, an environment that enables middle school children to write programs to create 3D animated movies. Users will be able to identify parts of movies created by other users that interest them and follow automatically generated tutorials to learn how to create the selected parts of those movies. By building tools that help users to learn effectively from programs written by peers within an appealing programming environment, we enable middle school students across the country to develop skills in computer programming at a time when formal opportunities to study computer science are decreasing and the need for computer scientists is increasing. While this project targets middle school students in the context of learning computer programming, there are many other audiences (e.g. adults learning a new piece of computer software) would benefit from software technologies that enable self-teaching

Agency
National Science Foundation (NSF)
Institute
Division of Information and Intelligent Systems (IIS)
Type
Standard Grant (Standard)
Application #
0835371
Program Officer
Kenneth C. Whang
Project Start
Project End
Budget Start
2008-09-01
Budget End
2011-08-31
Support Year
Fiscal Year
2008
Total Cost
$110,000
Indirect Cost
Name
Carnegie-Mellon University
Department
Type
DUNS #
City
Pittsburgh
State
PA
Country
United States
Zip Code
15213