Combining DOMjudge with JUnit for automated grading in algorithms and data structures courses

From ICPC
Revision as of 16:24, 17 June 2014 by Booth (talk | contribs) (Created page with "'''Combining DOMjudge with JUnit for automated grading in algorithms and data structures courses''' We have started to use automated grading (mostly due to budget cuts) in ou...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Combining DOMjudge with JUnit for automated grading in algorithms and data structures courses

We have started to use automated grading (mostly due to budget cuts) in our algorithms and data structure course for freshmen. Since we are also involved in organizing programming contests, the idea of using a CCS (in our case DOMjudge) is quite obvious. However, the ICPC style grading is too coarse grained for our purposes. Additionally, learning how to use various I/O routines for parsing and printing is rather complicated for beginners. Thus, we extended JUnit by several annotations to assign scores to test cases and to differentiate between private and public test cases. Furthermore, our system is able to replace parts of student implementations for a subset of test cases to avoid double deduction of points in case of subsequential errors. With DOMjudge's new REST API, it was easy to integrate the DOMjudge backend / sandboxing with our existing course management system.