L’UCLouvain ouvre son exerciseur de programmation aux apprenants extra muros

Article
Par · 27/03/2020

L’Ecole Polytechnique de l’UCLouvain (EPL) met désormais sa plate-forme Internet d’aide à l’apprentissage de la programmation, baptisée INGInious, à la disposition d’un plus large public que ses seuls étudiants. Sont concernés, les élèves et enseignants de fin du secondaire. De quoi procurer à ce niveau d’enseignement un regain de ressources à l’heure du confinement et de l’arrêt des cours en présentiel. L’accès étant libre, des apprenants lambda pourraient également y trouver leur bonheur…

INGInious est en fait ce qu’on appelle un “exerciseur en-ligne” qui permet, explique Olivier Bonaventure, professeur en sciences informatiques à l’UCLouvain, de proposer à distance, via recours à un simple navigateur Web, des exercices de programmation avec correction automatique. “La programmation ne s’apprend pas en regardant des vidéos ou en écoutant un professeur. Elle nécessite beaucoup de pratique. C’est en écrivant des programmes de taille et de complexité croissante que nos étudiants apprennent à maîtriser la programmation. Pour apprendre à bien programmer, ils doivent commencer par quasiment écrire de petits programmes ou des parties de programme tous les jours et recevoir un feedback sur leurs productions.”

Ce qui, dans les circonstances actuelles, représente un nouveau défi.

Initialement (les développements de la plate-forme ont démarré voici environ cinq ans), l’exerciseur Inginious était une ressource utilisable en local, dans l’enceinte de l’université ou des amphithéâtres, opérant de concert avec un cours traditionnel et des séances encadrées par des tuteurs. “Les dispositifs pédagogiques imaginés au départ n’ont pas été conçus pour un enseignement à distance”, relève Olivier Bonaventure, “mais nous pensons que ces ressources pourraient intéresser des étudiants qui souhaitent profiter des prochaines semaines pour apprendre la programmation ou des enseignants qui cherchent des activités en-ligne pour leurs étudiants.”

Comment ça marche?

“Quand un étudiant soumet une réponse à un exercice de programmation, Inginious exécute automatiquement le programme écrit par l’étudiant et le soumet à une batterie de tests définis par l’enseignant. Grâce à ces tests, l’étudiant peut rapidement vérifier si sa réponse est correcte ou corriger son programme jusqu’à ce qu’il réussisse les différents tests.”

En 2019, près de 3.000 étudiants de l’UCLouvain ont ainsi utilisé la plate-forme et plus de 800.000 réponses d’étudiants ont été évaluées automatiquement.

 

Olivier Bonaventure (UCLouvain): “Ces ressources pourraient intéresser des étudiants qui souhaitent profiter des prochaines semaines pour apprendre la programmation ou des enseignants qui cherchent des activités en-ligne pour leurs étudiants.”

 

Depuis trois ans, Inginious est par ailleurs utilisé pour lors de certains examens. “Avant, pour ces examens, on demandait aux étudiants de coucher de petits programmes sur papier. Cela posait des problèmes pour les étudiants qui n’avaient pas de compilateur pour tester leurs programmes mais aussi pour les enseignants qui devaient analyser manuellement chaque réponse.
Avec Inginious, on permet aux étudiants d’exécuter leur code pendant l’examen, dans un environnement dédié, et de faire les tests qu’ils souhaitent. A la fin de l’examen, des tests écrits par l’enseignant vérifient que les réponses des étudiants sont corrects. Cela facilite la correction mais cela permet aussi d’avoir des questions plus intéressantes.”

Etendre la cible

L’EPL a donc décidé d’ouvrir l’accès de son exerciseur automatique Inginious aux élèves et professeurs de fin de secondaire ou, pourquoi pas?, à toute personne désireuse de se lancer dans l’apprentissage de la programmation, en le faisant exercices (auto-corrigés) à l’appui. Pour ce faire, il suffit de s’inscrire via ce formulaire en-ligne.

Dans l’immédiat, deux cours d’introduction à la programmation, en Python ou en Java, de niveau Bac 1 sont proposés, de même qu’un cours en C de niveau Bac 2 et un cours sur Git “pour ceux qui doivent travailler de façon collaborative”.

Le cours de programmation en Python, destiné jusqu’ici aux Bac 1, permet de se livrer à une petite panoplie d’exercices est du genre varié, “depuis des QCM et des exercices très simples jusqu’à des exercices beaucoup plus compliqués”, souligne Olivier Bonaventure. Quelques exemples? Vérifier si un nombre est premier. Traduire un texte en morse en utilisant un dictionnaire…

Le principe et la matière sont similaires pour le cours de programmation en Java.

Le cours en C s’adresse, pour sa part, à des étudiants de deuxième année et vise l’apprentissage de la programmation en C sous Unix. “Il inclut à la fois des exercices de programmation de base, des exercices pour apprendre à manipuler les pointeurs, utiliser les fonctions de la librairie C sous Unix, lire des fichiers en utilisant l’appel système mmap…”

En ouvrant sa plate-forme à des utilisateurs autres que ses propres étudiants, l’EPL vise “à permettre aux étudiants de fin de secondaire de découvrir un cours de Bac 1 informatique et de se lancer dans l’apprentissage de la programmation en Python ou Java. Les cours de Java et Python sont adaptés aux étudiants de fin de secondaire puisque ce sont les cours de première année à l’UCLouvain”, explique Olivier Bonaventure.

“Nous avons également adapté Inginious pour pouvoir supporter la programmation par blocs (solution Blockly, un langage de programmation visuel qui permet de manipuler des blocs qui s’imbriquent pour travailler sur la logique d’un programme). Nous avons de premiers exercices de démonstration avec cette solution qui pourrait servir en début de secondaire, mais il nous faudrait du financement complémentaire pour pouvoir développer une batterie d’exercices utilisables par les enseignants…”

Le volet Blockly de la plate-forme Inginious fait encore l’objet de quelques travaux d’extension: “Nous travaillons à une version plus stable pour pouvoir, à terme, proposer des ressources utilisables par exemple par des enseignants de fin de primaire, début de secondaire. Ce travail continue notamment pour le moment dans le cadre d’un projet Erasmus+”, ajoute Olivier Goletti, assistant à l’EPL.

Notons encore pour ceux qui craindraient de se retrouver largués dans leur apprentissage à distance de la programmation, l’UCLouvain prévoit un support en-ligne (via Slack), qui sera assuré par des assistants et des étudiants volontaires. Un forum est également disponible sur Slack.

 

Olivier Bonaventure  (UCLouvain): “Avec quelques enseignants du secondaire motivés ou détachés, on pourrait développer des exercices qui seraient disponibles pour toutes les écoles de la Communauté française via une plate-forme comme Inginious.”

 

L’EPL envisage déjà d’aller plus et de publier, dans un deuxième temps, “des ressources dans d’autres disciplines ou pour des élèves plus jeunes, voire de donner la possibilité à des enseignants de créer leurs propres exercices.”

Dans ce dernier registre, Olivier Bonaventure lance un appel: “Pour la création d’exercices par les enseignants, les matériaux que nous avons utilisés pour le projet de première Bac cette année sont accessibles aux enseignants du secondaire qui voudraient écrire des exercices en Python.

Avec quelques enseignants du secondaire motivés ou détachés, on pourrait développer des exercices qui seraient disponibles pour toutes les écoles de la Communauté française via une plate-forme comme Inginious.

Nous travaillons également à la réalisation d’exercices de mathématiques. Nous avons maintenant la possibilité d’analyser une expression mathématique renvoyée par un étudiant pour vérifier si elle est équivalente, au sens mathématique, à la réponse attendue par l’enseignant. Cela ouvre de nouvelles possibilités pour la création d’exercices de mathématiques accessibles à tous… A nouveau, nous pourrions travailler avec des enseignants de mathématiques pour développer des exercices utilisables par toutes les écoles de la Communauté.”

Un catalogue allant croissant

Au fil du temps, plusieurs centaines d’exercices liés aux cours d’informatique de l’EPL de l’UCLouvain ont commencé à peupler Inginious et “de plus en plus d’enseignants se sont mis à l’utiliser. Aujourd’hui, quasiment tous nos cours, durant lesquels les étudiants doivent programmer, s’appuient sur inginious. C’est le cas des cours d’algorithmique, d’intelligence artificielle, de réseaux…

Le nouveau bachelier en informatique que l’UCLouvain lancera en septembre prochain avec l’UNamur sur le site de la HELHA à Montignies-sur-Sambre profitera de toutes ces ressources développées sur Inginious.”

Les exercices que l’on trouve dans l’exerciseur en-ligne Inginious ont été conçus par des professeurs ou des assistants de l’EPL mais également par des étudiants “soit dans le cadre de leurs mémoires, soit lors de jobs d’étudiant.

“Cette année, nous avons même demandé aux étudiants de premier bachelier d’écrire des exercices Inginious dans le cadre d’un de leurs cours”, indique Olivier Bonaventure. “Cela a donné de très bons résultats, avec pas mal d’exercices que nous pourrons réutiliser pour aider encore plus les étudiants de première année.” Il ajoute: “l’explication écrite à cette occasion est réutilisable par d’autres enseignants”. C’est ce qu’on appelle de la transmission de savoir-faire… Et cette documentation est bien entendu (esprit open source oblige) disponible et consultable sur la plate-forme.