Introduction

CodeRunner est un module pour Moodle permettant l’élaboration de questionnaires adaptés à un module d’enseignement de la programmation. Il permet en effet de demander à un étudiant d’écrire dans un certain langage (C, Python, Java, …) le code d’une fonction et d’évaluer ensuite le résultat de cette dernière à partir d’une batterie de tests prédéfinis ou de tests générés aléatoirement. Ci-dessous un exemple de l’aspect d’une question de type CodeRunner sous Moodle :

_images/question1.png

et un exemple de résultat obtenu une fois que l’étudiant a soumis son code :

_images/reponse1.png

L’avantage de CodeRunner est qu’il est possible de contrôler totalement les tests qui seront effectués et d’analyser via des expressions régulières le code saisi par l’étudiant. Il est ainsi possible d’interdire l’utilisation de certaines instructions et même de contrôler le nombre de boucles utilisées afin de réaliser un certain travail.

Dans le contexte où l’on souhaite pouvoir fournir à l’étudiant un moyen de s’évaluer en dehors des heures de TP, ceci permet en construisant des tests adaptés et bien choisis de s’assurer dans une moindre mesure que le code écrit est juste. L’utilisation d’expressions régulières pour analyser le code assurera que ce dernier est correctement écrit.

L’intégration dans Moodle permet à l’enseignant de voir la progression de chaque étudiant sur les questions posées ainsi que de voir les différentes versions de code développées.

Dans ce document, nous allons nous concentrer sur la programmation en Python et nous allons détailler l’élaboration et le contrôle d’une question concernant le code d’une fonction devant calculer le minimum d’une liste d’entiers.