Jens Doveren


Jens Doveren © Urheberrecht: LuFgi9



A Tool Box for semi-automatic Grading of Programming Exams using Python as an Example

I try to find pragmatic solutions for the practical problems that arise when trying to grade large volumes of programming exercises.
The primary focus is on giving the teacher tools that let them get their job done as efficiently as possible, without sacrificing quality. While fully automated systems are desirable, implementing a high-quality suite of tests is both time-consuming and conceptually difficult.
Rather than trying to guess, devise detection mechanisms and assign points to possible classes of solution attempts beforehand, I want to focus on solving these problems in a dynamic and adaptive manner once the submissions are in.

Among other things, this means trying to:

  • Developing tooling that allows for dynamic adjustment of grading criteria while the process is ongoing.
  • Detect submissions that are semantically equivalent by automatically finding refactorings. Feedback given for one can automatically be applied to equivalent ones.