DOMtutor

DOMtutor is a set of scripts used to leverage the competitive programming platform DOMjudge. In essence, DOMjudge allows participants to submit code solving specified problems. Problems are formal descriptions of the desired output together with a time limit. DOMjudge compiles submitted code and runs the executable in a sandboxed environment, checking only its input/output behaviour (and time/memory consumption). As such, DOMjudge supports practically any programming language and only evaluates efficiency and correctness, not soft constraints such as code style.

All relevant scripts and data can be found at the GitHub project. Note that concrete lecture slides and problems are kept at a separate private repository, to prevent spoiling participants. The scripts allow declarative definitions of users, courses, etc. and preparing all necessary data for a lecture (lecture slides, problem descriptions & solutions, DOMjudge contest, solution statistics, etc.) are “push button”.

Should you be interested in using DOMtutor for a lecture (in particular to teach algorithms & data structures) or anything else, feel free to contact me! I’ll be happy to answer any questions / help with deployment / share problems & lecture details.