courses and lectures. In undergraduate and basic computer science courses, programming exercises andassessments are widely used. These courses usually have a large number of participants, leadingto several problems when the submitted exercises have to be graded by tutors. The main reasonfor this is that programming exercises, no matter which programming language is used, tend tohave a large degree of freedom for learners. Thus, simply comparing the provided solutions witha sample solution does not produce a reasonable result that can be used for grading, sincedifferent, yet still correct, solutions for the same exercise exist. It is possible that the submittedsolution still fulfills the required aspects of the exercise, but follows a