Utiliser AMC pour évaluer des compétences gérées par SACoche

Voici quelques résultats et moyens utilisés pour réaliser un QCM AMC et en reporter les résultats dans SACoche, l'application web de suivi des acquisition de compétence.

Bien sûr, mais je ne traiterais pas ce point ici, la notion de compétence complexe et de QCM peut sembler antinomique. Je me permettrais juste de remarquer, pour déminer le terrain, que :
- les réponse à un QCM peuvent très bien demander des calculs/raisonnements complexes
- AMC gère les questions ouvertes (où c'est le prof qui corrige la question, prend en compte par exemple la rédaction et coche les cases, le tout étant ensuite amalgamé aux autres questions)
- AMC gère les questions à réponse numérique (par exemple : répondre par un nombre à 5 chiffres dont 3 après la virgule)

Rentrons dans le vif du sujet :

Il existe sur le forum d'AMC plusieurs tentatives de corriger par compétences, en particulier https://project.auto-multiple-choice.net/boards/4/topics/5668 et https://project.auto-multiple-choice.net/boards/4/topics/5032?r=5349#message-5349, mais cela ne me semble pas aller assez loin pour mon usage, et il n'y a pas pour le moment de lien proposé vers Sacoche.

1/ on crée l'évaluation dans Sacoche pour avoir une idée claire des compétences qu'on veut évaluer.

2/ on conçoit le QCM.

Barèmes

Parmi les réglages que j'ai adoptés :
- Définition des barèmes (questions simples puis questions multiples)
\baremeDefautS{e=0.0001,b=1,m=-0.2,v=0} % bonne réponse 1, mauvaise réponse -0.2 pour différencier de la non réponse qui reste à 0, incohérence (plusieurs réponses données à 0,0001 pour définir des manquements au respect de consignes)

\baremeDefautM{formula=((NBC-NMC)/NB)*((NBC-NMC)/NB>0)} % nombre de bonnes réponses cochées minorées des mauvaises réponses cochées, ramenées à 1, et ramenée à 0 si résultat négatif.

Identification des élèves

- Utilisation de lettres pour identifier automatiquement les élèves : chaque exemplaire commence par

\champnom{\fbox{\parbox{10cm}{
Écrivez vos nom, prénom et classe : \\
\\
}}}
%\\
\vspace{2mm}

Puis cocher les trois premières lettres de votre nom de famille et les deux premières lettre de votre prénom

\AMCcodeGrid[h]{ID}{ABCDEFGHIJKLMNOPQRSTUVWXYZ,
ABCDEFGHIJKLMNOPQRSTUVWXYZ,
ABCDEFGHIJKLMNOPQRSTUVWXYZ,
ABCDEFGHIJKLMNOPQRSTUVWXYZ,
ABCDEFGHIJKLMNOPQRSTUVWXYZ}

Traçabilité des questions :

Si on veut à l'étape 12 pouvoir donner un corrigé pour chaque question ou des indications des critères d'évaluation, il peut être intéressant de garder une identification compacte des questions qui permette de pointer une question particulière même après mélange de l'ordre des questions, mais qui ne soit pas trop visible au cours de l'épreuve. Pour le moment, je note [Aa], [Ab], [Ba] mes questions, où A désigne un thème donné et a, b, ... les différentes questions afférentes à ce thème, et je place les références [Aa] par exemple au début de chaque texte de consigne et dans les nom de question d'AMC pour que ces références se retrouvent dans les colonnes de l'export ODS.

3/ on fait passer l'épreuve,

On corrige éventuellement les questions ouvertes, on scanne les copies en Tiff un fichier par page, 300 ou 400 DPI N&B (sans niveau de gris)

4/ on prépare un fichier d'élève en csv avec les colonnes issues de Sacoche : reference ; nom ; prenom

(option : on ajoute la colonne ID avec une formule qui produit en capitale les trois premières lettres du nom et les 2 premières lettres du prénom : du genre =MAJUSCULE&GAUCHE) )

5/ on effectue dans AMC la saisie automatique,

On vérifie les zooms sur les cases cochées, on effectue le rapprochement des copies automatique ou non, en utilisant le fichier préparé en 4/ (avec le rapprochement automatique utilisant l'ID, c'est les doigts dans le nez...)

6/ on exporte en ods

avec les options
  • trier par ligne du fichier (important, pour avoir la même liste que Sacoche)
  • "inclure les absents" (pour que le copier collé dans le csv d'import de sacoche soit bien aligné)

7/ dans Sacoche, on exporte les csv de saisie déportée : on pourra y trouver la liste des compétences du devoir.

8/ on ajoute au fichier résultat .ods des lignes en jaunes sur le fichier joint, et les colonnes en orange et rouge

→ Les lignes en jaune peuvent être préparées à l'avance : il s'agit d'un tableau qui pour chaque ligne liée à une compétence évaluée, renseigne les questions dont on tire l'évaluation : on met simplement un "1" à l'intersection

→ Les colonnes orange peuvent aussi être préparées à l'avance, au moins sur une ligne, puis copiée collées au bout de chaque ligne des élèves : elles contiennent le score total de chaque compétence (produit scalaire du vecteur des notes obtenues aux questions par le vecteur des compétences liées).

→ Les colonnes rouges reprennent les résultats des colonnes oranges et les moulinent pour obtenir un score de 1 à 4 pour Sacoche. Pour cela, j'ai décidé de garder toujours la même formule, en partant de la proportion du score "orange" sur le score maximum de la compétence (stocké dans les cellules AD4 à AK4 dans l'exemple) et en appliquant la formule de fonction en escalier suivante :
=1+(AD6/AD$4>0,3)+(AD6/AD$4>0,5)+(AD6/AD$4>0,8)
(c'est à dire que de 0 à 0,3 la note est RR
de 0,4 à 0,5 la note est R, de 0,5 à 0,8 la note est VV et de 0,9 à 1 la note est VV)

(option : pour la compétence "Respecter les consignes", j'ai utilisé le nombre de scores "incohérent" égaux à 0,0001 avec la formule =MAX)*10000) ce qui enlève un niveau de réussite par question simple où plusieurs cases ont été cochées)

→ pour les élèves disposant d'un tiers-temps, quand je ne peux pas matériellement proposer 1/3 temps en plus, j'enlève, même si ce n'est pas vraiment équivalent, environ 1/4 des questions. Ces élèves disposent alors de leur propre tableau de correspondance questions /compétences, avec leur propre ligne de total pour que leur non-réponse sur les questions neutralisées ne les pénalisent pas (et évidemment, j'adapte la formule posée en zone orange pour utilise ce tableau et ce total à part).

9/ on corrige éventuellement à la marge les éléments dont AMC n'a pas pu tenir compte (Non respect des consignes, aménagement particulier...)

10/ on revient dans Sacoche :

ensuite on n'a plus qu'à copier le bloc des scores convertis en échelle de 1 à 4 et à le coller "collage spécial" / nombre + transposition dans le csv de saisie déporté de Sacoche
puis on upload le csv dans Sacoche : les résultats sont intégralement transmis.

11/ enfin, on fait annoter les copies par AMC :

12/ Ajout d'un corrigé

Si on utilise des questions ouvertes et/ou des énoncés à valeurs aléatoires, il peut être intéressant d'ajouter à chaque scan annoté de copie une correction ou des indications sur les critères d'évaluations (merci à Gérard Carpeaux pour son aide)
  1. la feuille supplémentaire est réalisé comme vous le souhaitez et convertie si nécessaire en pdf.
  2. Ce fichier doit être copié à chaque fois dans le dossier du devoir (au même endroit que DOC-sujet.pdf). Il faut le nommer page.pdf pour que le script fonctionne mais vous pouvez directement modifier la variable à la ligne 26.
  3. Il faut placer ce script dans le dossier du devoir et l'appeler sacoche.sh, rien ne vous empêche de changer le nom.
#!/bin/bash

# cherche le nom du répertoire courant de l'interro
DIR="${PWD}" 
#raccourci des fichiers pdf
DIR_PDF="$DIR/cr/corrections/pdf" 
#raccourci du repertoires à créer des fichiers modifiés
DIR_SACOCHE="$DIR/cr/corrections/pdf/sacoche" 

# création du répertoire des fichiers nominatifs modifiés
# vérification de la non existence du dossier
if  [ ! -e "$DIR_SACOCHE" ] # $DIR/cr/corrections/pdf/sacoche
then # création du dossier
    mkdir "$DIR_SACOCHE" #$DIR/cr/corrections/pdf/sacoche 
fi    

# Se placer dans les fichier annotés
cd ${DIR_PDF}

for file in *.pdf;
do
#v'rification de la non existence d'un fichier -> gain de temps au lieu de tout refaire ?
if [ ! -e "$DIR_SACOCHE"/"$file" ]
then
pdftk A="$file" B="${DIR}/page.pdf" cat A B output "$DIR_SACOCHE"/"$file" #"$DIR/cr/corrections/pdf/sacoche/""$file" 
fi
done

exit
  1. Donner les droits d’exécution (clic droit puis cocher tout en bas dans permission sous ubuntu) puis lancer un terminal avec ./sacoche.sh
  2. Les nouveaux fichiers sont créés dans le répertoire sacoche de cr/corrections/pdf

13/ Puis on upload les corrigés de Sacoche

Dans l'interface d'upload, on indique comme masque de nom de fichier [reference].pdf (remarquez que AMC utilise des () et Sacoche des [] ) et zou, les corrigés individualisés sont distribués...

Dernière remarque :

j'ai du coup nettoyé dans les préférences d'AMC les indications portées en surimpression qui par défaut donnent une note pour y écrire la légende de la correction, je n'ai pas besoin d'y mettre les résultats en termes de compétences puisque tout est disponible dans l'interface de Sacoche.
du coup mon texte est :
---------------------
%(ID) (un cercle rouge indique une case cochée qui n'aurait pas du l'être, une croix rouge indique une case non cochée qui aurait dû l'être, une croix bleue indique une bonne réponse. Un score de 0 indique une absence de réponse,
un score de 0.01 indique une mauvaise réponse, un score de 0.0001 indique un non respect des consignes
(plusieurs réponses données pour une question à une seule bonne réponse).
---------------------

Je joins pour exemple

- le fichier .tex du devoir
- les fichiers .mgj (https://www.mathgraph32.org/ftp/js/mtg32online/index.html) et .png de la figure (à noter que mathgraph32 exporte le code Latex de la figure, que j'aurais pu directement intégrer, j'ai plutôt mis le png pour des facilités de réglages de la taille de l'image et puis j'ai eu la flemme de changer).
- le fichier export ods d'AMC, une fois les formules ajoutées
- le fichier corrigé d'un élève

Je suis bien sûr preneur de toute remarque et améliorations.

2018-3e-DS5-Transf-Stats-vert.tex (18.8 kB) Liouba Leroux, 02/06/2019 11:41 pm

transformations.mgj (5.2 kB) Liouba Leroux, 02/06/2019 11:41 pm

transformations.png (27.2 kB) Liouba Leroux, 02/06/2019 11:41 pm

College_2018_3e_transformation_stats.ods (34.4 kB) Liouba Leroux, 02/06/2019 11:41 pm

070459520BK.pdf (141.5 kB) Liouba Leroux, 02/06/2019 11:41 pm