Experiences with marmoset: designing and using an advanced submission and testing system for programming courses

  • Authors:
  • Jaime Spacco;David Hovemeyer;William Pugh;Fawzi Emad;Jeffrey K. Hollingsworth;Nelson Padua-Perez

  • Affiliations:
  • University of Maryland, College Park;Vassar College, Poughkeepsie, NY;University of Maryland, College Park;University of Maryland, College Park;University of Maryland, College Park;University of Maryland, College Park

  • Venue:
  • Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We developed Marmoset, an automated submission and testing system, to explore techniques to provide improved feedback to both students and instructors as students work on programming assignments, and to collect data to perform detailed research on the development processes of students. To address the issue of feedback, Marmoset provides students with limited access to the results of the instructor's private test cases using a novel token-based incentive system. This both encourages students to start their work early and to think critically about their work. Because students submit early, instructors can monitor all students' progress on test cases, helping identify challenging or ambiguous test cases early in order to update the project specification or devote additional time in lecture or lab sessions to the difficult test cases.To study and better understand the development process of students, Marmoset can be configured to transparently capture snapshots to a central repository everytime students save their files. These detailed development histories offer a unique, detailed perspective of each student's progress on a programming assignment, from the first line of code written and saved all the way through the final edit before the final submission. This type of data has proven extremely valuable many uses, such as mining new bug patterns and evaluating existing bug-finding tools.In this paper, we describe our initial experiences using Marmoset in several introductory computer science courses, from the perspectives of both instructors and students. We also describe some initial research results from analyzing the student snapshot database.