Programming Coursework Assessment via Unit Testing for Moodle

Gareth Davies


Supervised by Frank C Langbein; Moderated by Yukun Lai

Unit testing is a powerful concept not just for testing, but also for automatically evaluating code. That makes it a good candidate for automating exercises and coursework for students and providing continual and automatic feedback how how good a current solution is working.

The aim of this project is to implement a plugin for moodle that automatically evaluates code submitted by students and provides suitable feedback using unit tests. This should be suitable for exercises as well as coursework and ideally cover a wide range of programming languages / unit testing frameworks, but it would be sufficient to implement it for some specific examples (Java, C or Python) and certain exercises (e.g. algorithms and data structures problems) as long as the design allows for easy extension.

You must have good programming skills in a relevant language (C, C++, Java, Python, etc) and we development skills (in particular PHP and an understanding of the moodle technology may be helpful). The code should be released under the GNU GPL V3 or compatible licence (and if it works, will be integrated into a running moodle site).

Final Report (08/09/2016) [Zip Archive]

Publication Form