Competitive Programming

This project is a collaborative effort between Dr. Scott Wallace (Principle Investigator) from the School of Engineering and Computer Science and Dr. Jason Margolis from the School of Education. The project is funded by a grant from the NorthWest Academic Computing Consortium (NWACC).

Synopsis

To produce excellent graduates, a student's coursework must be engaging while simultaneously providing the incentives to take learning beyond the mere requirements of the assignments. One approach for creating this environment is known as Competitive Programming. In this paradigm, students submit homework solutions that can be automatically evaluated. Students compete either against one another or against benchmark solutions created by the instructor. In contrast to standard homework assignments which are submitted and graded only once, with competitive programming, students typically can resubmit any given assignment as often as they like until the due date. This process provides a feedback loop that allows each student to see the effects of their efforts. Rapid feedback is believed to be lead to better learning outcomes even when used independently from competition.

Goals

Our project has two aims. First, we will build an open source software infrastructure for rapid feedback and competitive programming that can be used on a variety of course assignments. Second, we will use this software to explore the relationship between competition, rapid feedback and student performance. The hope is to obtain a better understanding of what motives students to excel in their work.

Publications and Related Project Materials

Scott A. Wallace and Jason Margolis. Using Competitive Programming to Teach Computer Science Project proposal submitted to the NorthWest Academic Computing Consortium. February, 2007.
pdf