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. Software DownloadsWSUV Submission Server version 0.6. This is the current version of the submission server which allows students to upload their projects to a centeral location, allows faculty to view the history of student submissions, as well as downloads each students' work. And, critically, the submission server also supports plug-in evaluators (see the curiculum packages below for some examples) that provide rapid/on-demand feedback for students submitting software projects. This software requires linux, python, apache, mysql and php. CurriculumThe submission server has been used with a variety of classroom projects. Project descriptions are available below and associated evaluation software will be provided to faculty as requested. Please send a message to Scott Wallace for more information.
|