Pour ou contre la diffusion de corrigés d'exercices ?

Ce site a pour but la diffusion d'outils qui aide à produire des exercices corrigés à trous à destination des étudiants. L'expérience nous a montré qu'un corrigé complet présente les inconvénients suivants :
  1. il rassure l'étudiant qui peut l'imprimer et le ranger consciencieusement dans un tiroir et se disant qu'il le lira un jour.
  2. le sujet ne peut plus être donné en devoir maison, car l'enseignant récupère alors 90% de copies manuelles de son corrigé (en général ces copies manuelles contiennent des fautes de frappes qui n'étaient pas dans le corrigé). On peut s'étonner qu'il reste quelques 10% d'étudiants qui ne connaissent pas le bon filon et n'ont pas réussi à récupérer une copie du corrigé. Mais avec la modernisation des moyens de communication (internet, téléphone cellulaire, clef usb, photocopieuse,...) ces 10% tendent à diminuer.

Pour éviter ces écueils nous sommes un certains nombres à refuser de donner des corrigés complets et à préférer diffuser largement des corrigés à trous.

L'expérience nous a montré qu'un corrigé à trous a plusieurs avantages :

  1. il inquiète l'étudiant qui sait qu'il ne disposera d'une solution rassurante qu'une fois qu'il aura complété les trous.
  2. le sujet peut être donné en devoir maison et la correction est rapide car il suffit de corriger les parties à trous.
  3. L'exercice de remplissage des trous peut être décliné de «très facile» à «très difficile» selon la disposition des trous et leurs nombres.
    • on peut disposer les trous de manière à ce qu'un étudiant attentif et un peu concentré puissent les compléter sans difficulté. L'exercice est alors une invitation à la lecture active d'un corrigé. C'est déjà un bon point.
    • on peut masquer les étapes évidentes de la rédaction et laisser en clair les étapes délicates.
    • on peut masquer les étapes clefs qui demandent une compréhension fine, de la reflexion, de l'inventivité, ...
    • on peut bien sûr combiner ces trois degrés de difficulté pour faire un sujet complet capable de distinguer le niveau et les acquis de chaque étudiant.
    • il faut prendre soin que la présence des trous ne fasse pas perdre le fil du corrigé et que l'étudiant soit suffisamment guidé pour suivre le raissonnement de l'enseignant qui a écrit le corrigé.

Vous aurez compris que le choix de la disposition des trous demande de la reflexion.

Des outils pour les corrigés à trous

J'ai développé un ensemble d'outils qui permet de produire plusieurs sorties à partir d'un énoncé d'exercice écrit en Latex :

Je prends l'exemple d'un exercice de programmation en C.

J'écris un fichier exo.c.tex qui contient à la fois :

  • l'énoncé en Latex
  • une correction sous deux formes :
    • le code C du programme qu'on demandait d'écrire
    • des explications, remarques et commentaires en Latex

À partir de ce fichier, les outils peuvent générer :

  1. le sujet pour les étudiants (exo.sujet.pdf)
  2. le sujet et un corrigé à trous pour les étudiants (exo.corrige.pdf)
  3. le sujet et le corrigé sans trous pour les enseignants (exo.enseignant.pdf)
  4. le code C à trous pour les étudiants (exo.corrige.c)
  5. le code C sans trous pour les enseignants (exo.enseignant.c)
  6. les binaires pour diverses machines pour les étudiants (afin qu'ils puissent comparer les résultats de leur programme avec ceux du programme écrit par l'enseignant)

Le site web INF111 illustre les possibilités des outils.

Ces outils sont très facilement adaptables à tout autre langage de programmation et plus largement à tout document au format texte dont on veut éliminer/masquer des parties.

La gestion de l'affichage/masquage/élimination se fait au moyen de délimiteurs présentés ci-dessous.

Rédaction d'exercices avec corrigés à trous : un exemple

Voici les délimiteurs qui permettent à partir d'un unique fichier source de générer les 6 sorties différentes.
La combinaison de ces délimiteurs et des options de génération permet d'obtenir une grande variété de sorties de manière entièrement automatique à partir d'un unique fichier.


\begin{Correction}

La partie entre délimiteurs Correction apparaîtra dans les fichiers .pdf de la version enseignant et de la version corrigée.
\end{Correction}


Masquer des parties latex

Il est possible de masquer des régions de la partie Latex de la correction à l'aide de deux macros latex :
  • la macro \answer{...} permet de remplacer le contenu entre accolades par une région de même taille que le contenu, remplie de pointillés.

    Le contenu apparaîtra en clair dans les documents latex compilés avec l'option \VersionCorrige

  • la macro \hide{...} permet de remplacer le contenu entre accolades par une région de même taille que le contenu, remplie de pointillés.

    Le contenu apparaîtra en clair uniquement dans les documents latex compilés avec l'option \VersionEnseignant

    Cette seconde macro permet de conserver des parties pointillés dans les corrigés.


\begin{Code*}

La partie entre délimiteurs Code* sera reproduite dans le fichier .c et n'apparaitra pas dans les fichiers .pdf On l'utilise pour les parties obligatoires d'un programme qui ne sont pas pertinentes pour la correction telle que :
#include stdio.h
nécessaire au début de tout programme C.
\end{Code*}


\begin{Code}

La partie entre délimiteurs Code sera reproduite dans le fichier .c et apparaîtra dans le fichier .pdf en police à taille fixe (on fait appel à l'environnement verbatim de Latex)
\end{Code}


Masquer des parties du code

Il est possible masquer certaine partie du code en les remplaçant par des pointillés. Il suffit pour cela de mettre cette partie entre les délimiteurs suivants /*{ et }*/.

Ainsi, le code
x = /*{x + 1}*/ ;
apparaîtra sous la forme :
x = x + 1 ;
dans le fichier .c destiné aux enseignants et permettant la compilation

et sous la forme :

x = .. .. .. ;
dans le fichier .c destiné aux étudiants.



téléchargement des outils

Je dois encore faire quelques tests et quelques améliorations. Ensuite je mettrai ces outils en ligne sur ma page web sous licence GPG.