Système d'aide à la correction de programmes Java

Les cours d'introduction à la programmation génèrent de lourdes tâches de correction. Corriger un programme demande de vérifier de nombreux éléments : bon fonctionnement, structure et organisation, respect des règles de style et de documentation, etc. Dans cet exposé, nous décrivons un système d'aide à la correction qui permet d'automatiser la remise des programmes et la vérification de leur bon fonctionnement. Ce système permet aussi, avant la remise finale, de donner du feedback aux étudiants sur le fonctionnement de leur programme.

Notre système d'aide à la correction, développé en Java, permet d'analyser des programmes eux aussi écrits en Java. Le système supporte trois catégories d'utilisateurs. Les enseignants développent des suites de tests qui seront utilisées pour vérifier le bon fonctionnement des programmes. Ces suites de tests sont spécifiées à l'aide de Junit, un outil d'automatisation des tests unitaires. Les étudiants peuvent faire vérifier leur solution, de façon préliminaire et partielle par l'intermédiaire de suites de tests "publiques", puis utilisent le système pour remettre la version finale de leur programme. Les correcteurs utilisent le système pour qu'il applique, sur chacun des travaux remis, une suite "privée" de tests. Les résultats produits par l'exécution de ces tests privés peuvent ensuite être utilisés pour évaluer le programme au niveau de son bon fonctionnement.