Auto-grading for parallel programs

M Aziz, H Chi, A Tibrewal, M Grossman… - Proceedings of the …, 2015 - dl.acm.org
M Aziz, H Chi, A Tibrewal, M Grossman, V Sarkar
Proceedings of the Workshop on Education for High-Performance Computing, 2015dl.acm.org
Fundamentals of Parallel Programming (COMP 322) is a required course for all Computer
Science majors at Rice University. It introduces students to several basic concepts of parallel
programming and parallel algorithms and follows a" pedagogic approach that exposes
students to intellectual challenges in parallel software without enmeshing them in jargon
and lower-level details of today's parallel systems". The material from COMP 322 has also
been used in related courses at other universities including Harvey Mudd College and …
Fundamentals of Parallel Programming (COMP 322) is a required course for all Computer Science majors at Rice University. It introduces students to several basic concepts of parallel programming and parallel algorithms and follows a "pedagogic approach that exposes students to intellectual challenges in parallel software without enmeshing them in jargon and lower-level details of today's parallel systems". The material from COMP 322 has also been used in related courses at other universities including Harvey Mudd College and Brigham Young University.
Currently, programming assignments in this class are manually graded by teaching assistants (TAs) for correctness, performance, style, and documentation. Students receive limited feedback as they progress through the assignment because TAs grade their homework only after the submission of a final version. Auto-graders are a common solution to this problem: they allow students to receive feedback as they work on their assignments rather than only after they have completed them. This results in higher quality submissions by allowing students to learn from mistakes as they make them, rather than days or weeks later. It also prevents the development of bad habits or mislearned knowledge by addressing mistakes early.
Web-CAT is an advanced, customizable, and comprehensive automated grading system developed at Virginia Tech. It supports many models for program grading, assessment, and feedback generation. This paper describes our work on extending Web-CAT to address the requirements of Rice University's introductory parallel programming course, thereby creating infrastructure that can be used for similar courses at other universities and in online courses. Our system is planned for deployment in Spring 2016, hence this paper focuses on the design and implementation of this system.
ACM Digital Library