Moodle Autograde
This repository hosts an autograding system for Moodle. It is composed of a Moodle plugin and a web service that launches grading jobs on a Kubernetes cluster. By providing Docker images, teachers can define arbitrary grading environments for their assignments—the system is language-agnostic and supports different feedback formats.
Documentation
- Overview Slides. These slides provide a high-level overview of the project.
- Practice Paper. Published at SEFI 2024, the practice paper describes the project's objectives and the architecture of the system in more detail.
- Architecture Diagram. Overview of the data flow between the different components of the system, with a focus on security.
- Example Python image. This example shows how to create a Docker image to grade Python assignments.
- Administrator instructions. These instructions are for the Moodle administrators.
- Developers instructions. These instructions explain how to setup a local environment to develop the Moodle plugin and the web service.
Support
Contact the team at autograde-support@groupes.epfl.ch for any questions or issues.
Acknowledgements
- Main development: Hamza Remmal
- Development: Dixit Sabharwal and Benoit Morawiec
- Technical supervision: Matt Bovel
- Project leads: Barbara Jobstmann and Jamila Sam
This project was funded by the DRIL Fund of EPFL.