Competitive Programming
SynopsisTo 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. GoalsOur 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. |