Massive Open Online Courses (MOOCs) are widely regarded as a revolutionary innovation; however, traditional instructional techniques do not scale to MOOCs with tens of thousands of students. This project aims to design a set of algorithmic tools to partially automate three of the most basic instructional processes - grading assignments, giving students personalized feedback, and creating new assignments - in MOOCs that teach computer programming. Such tools have the potential to significantly raise the productivity of instructors in these courses, and give students a far more effective educational experience than what they currently receive. They can also guide the development of future MOOCs on programming, and play a role in making the MOOC model reach its full potential.

The algorithms developed in this project draw on ideas from several different areas of computing. They leverage advances in automated reasoning about software like automatically finding bugs in student code and suggesting fixes, and exploit statistical learning techniques that mine databases of previously-completed assignments and infer aggregate statistics about a class. Finally, the research has a dimension of human computation, for instance seeding logical and statistical analysis techniques with data obtained through peer evaluation. These methods apply to any programming course; however, the investigators will evaluate them by deploying them in a specific MOOC on Python programming that they teach.

Project Start
Project End
Budget Start
2013-09-15
Budget End
2017-08-31
Support Year
Fiscal Year
2013
Total Cost
$298,319
Indirect Cost
Name
Rice University
Department
Type
DUNS #
City
Houston
State
TX
Country
United States
Zip Code
77005