2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes

Added by Benoit PIERRET almost 10 years ago

Bonjour,

Encore bravo pour ce superbe logiciel!!!

Deux idées d'amélioration en un post. Ces fonctionnalités existent peut-être déja?
1- Verification de la syntaxe du baréme:

Je n'ai pas vu de moyen de vérifier la validité du baréme écrit en latex. J'ai passé pas mal de temps à trouver les erreur de mes collégues...
Par exemple les erreur suivantes ne sont pas détectées:
\bareme{b=0,5;m=0} au lieu de \bareme{b=0.5;m=0}
\bareme{b=2} dans une réponse à une question simple (impossible, il faut mettre dans la question)
et même: \bareme{qsd=0.5} ca ne veut rien dire!!!

Serait-il possible d'intégrer un module de vérification de syntaxe qui générerait des erreur quand la syntaxe du baréme n'est pas valide? Ceci pourrait être fait par exemple à l'appui sur le bouton corriger.

2-Sujet à questions dépendantes
J'aimerais écrire un sujet de style

Si votre numéro d'étudiant est pair: X=1 et Y=2
Si votre numéro d'étudiant est impair: X=3 et Y=4

Question 1:
A combien est egal X+Y
A:3
B:7

Question 2:
Choisissez Z
A:5
B:6

Question 3:
A combien est egal X+Z
A:6
B:8
C:7
D:9

La difficulté est que les réponses sont bonnes ou mauvaise en fonction des réponses précédentes.
Est-ce que ceci est possible avec la version actuelle d'AMC?

L'interet d'une telle rédaction est que l'on peut faire un sujet à tirage unique avec des réponses différentes pour tous. La mise en oeuvre de tirages différents est compliqué à très grande echelle (800 étudiants dans mon cas). Il faut que l'assemblage des sujet soit toujours bon.Les surveillants des 15 salles ne doivent pas avoir de mauvais réflexe: par exemple, donner un document réponse d'un autre sujet...


Replies (28)

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Alexis Bienvenüe almost 10 years ago

Votre première idée est intéressante, en effet (#271)
Pour la deuxième, j'ai l'impression pour l'instant que ce serait assez difficile à ajouter à AMC tel qu'il est conçu...

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Pour la première question, je viens de tester ceci

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[francais,bloc]{automultiplechoice}
\usepackage{fp,numprint}
\makeatletter
\def\Nsujet{\the\AMCid@etud}
\makeatother
\begin{document}
\exemplaire{5}{
%test du sujet pair
\FPeval{\pair}{\Nsujet/2}
\FPifint{\pair}%
\FPset{\X}{1} \FPset{\Y}{2}%
\else%
\FPset{\X}{3} \FPset{\Y}{4}%
\fi
\begin{question}{add}
%attribution des variables 
\FPeval{\VQbonne}{clip(\X+\Y)}
\FPeval{\VQmauvaisea}{clip(\VQbonne+1)}
\FPeval{\VQmauvaiseb}{clip(\VQbonne-2)}
\FPeval{\VQmauvaisec}{clip(\X*\Y)}
Soient X=\numprint{\X} et Y=\numprint{\Y}. Combien font X +Y ?
\begin{reponseshoriz}
\bonne{\numprint{\VQbonne}}
\mauvaise{\numprint{\VQmauvaisea}}
\mauvaise{\numprint{\VQmauvaiseb}}
\mauvaise{\numprint{\VQmauvaisec}}
\end{reponseshoriz}
\end{question}
}
\end{document}

Pour la 2e et 3e, je pense à la fonction si avec default.XXX. Je vais chercher.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Alexis Bienvenüe almost 10 years ago

C'est une autre façon de faire (j'utilise également ce genre de solution avec des nombres aléatoires), mais on obtient des copies différentes, ce qui n'était pas souhaité par Benoit PIERRET.
Au passage :

Il faut que l'assemblage des sujet soit toujours bon

pourquoi n'agrafez-vous pas les copies entières (sujet et feuille de réponses) ?

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Ok alors j'ai testé ceci

%attribution des variables 
\FPset{\Xp}{1} \FPset{\Yp}{2}%
\FPset{\Xi}{3} \FPset{\Yi}{4}%

\begin{question}{add}
\FPeval{\VQp}{clip(\Xp+\Yp)}
\FPeval{\VQi}{clip(\Xi+\Yi)}
%test du sujet pair
\FPeval{\pair}{\Nsujet/2}
\FPifint{\pair}
Soient X=\numprint{\Xp} et Y=\numprint{\Yp}. Combien font X +Y ?
\else
Soient X=\numprint{\Xi} et Y=\numprint{\Yi}. Combien font X +Y ?
\fi

\begin{reponseshoriz}[o]
\FPifint{\pair}
\bonne{\numprint{\VQp}} \mauvaise{\numprint{\VQi}}
\else
\mauvaise{\numprint{\VQp}} \bonne{\numprint{\VQi}}
\fi
\end{reponseshoriz}
\end{question}

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Pour les question 2 et 3

\begin{questionmult}{addZ}%
\bareme{default.choixZa=0, default.choixZb=0,formula=(choixZa==choixZb  ? 0 : 1),MAX=1}
\FPset{\Za}{5} \FPset{\Zb}{6}
Soit Z=\numprint{\Za} ou Z=\numprint{\Zb}. Choisissez une valeur de Z et calculer X + Z.
%propositions des bonnes réponses avec Za
\FPeval{\VQZai}{clip(\Xi+\Za)}
\FPeval{\VQZap}{clip(\Xp+\Za)}
%proposition des bonnes réponses avec Zb
\FPeval{\VQZbi}{clip(\Xi+\Zb)}
\FPeval{\VQZbp}{clip(\Xp+\Zb)}
\begin{multicols}{2}
\begin{reponses}[o]
\bonne{Je choisis Z=\numprint{\Za}}\bareme{set.choixZa=1}
\FPifint{\pair}%
\bonne{\numprint{\VQZap}}
\mauvaise{\numprint{\VQZai}}
\mauvaise{\numprint{\VQZbp}}
\mauvaise{\numprint{\VQZbi}}
\else%
\mauvaise{\numprint{\VQZap}}
\bonne{\numprint{\VQZai}}
\mauvaise{\numprint{\VQZbp}}
\mauvaise{\numprint{\VQZbi}}
\fi%

\bonne{Je choisis Z=\numprint{\Zb}}\bareme{set.choixZb=1}
\FPifint{\pair}%
\mauvaise{\numprint{\VQZap}}
\mauvaise{\numprint{\VQZai}}
\bonne{\numprint{\VQZbp}}
\mauvaise{\numprint{\VQZbi}}
\else%
\mauvaise{\numprint{\VQZap}}
\mauvaise{\numprint{\VQZai}}
\mauvaise{\numprint{\VQZbp}}
\bonne{\numprint{\VQZbi}}
\fi%
\end{reponses}
\end{multicols}
\end{questionmult}

J'arrive à vérifier que l'élève ne coche pas les deux choix de Z

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

\begin{questionmult}{addZ}%
\bareme{default.choixZa=0, default.choixZb=0,formula=(NBC>2  ? 0 : 1),MAX=1}

J'arrive à vérifier que l'élève ne coche pas plus de deux cases mais je n'arrive pas à cumuler les deux en même temps.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

\begin{questionmult}{addZ}%
\bareme{default.choixZa=0, default.choixZb=0,formula=(choixZa*NBC + choixZb*NBC>2  ? 0 : 1),MAX=1}

J'ai trouvé cette astuce mais qui risque d'être fastidieuse si les choix de Z sont assez élevés.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET almost 10 years ago

Merci pour vos réponses.

pourquoi n'agrafez-vous pas les copies entières (sujet et feuille de réponses) ?

Pas si simple. Notre QCM est commun à 3 matiéres en une seule epreuve rédigé par 3 équipes de rédacteurs. Les sujets sont un mélange de feuille A3 et A4 en 4 couleurs avec questions ouvertes et QCM: rose matiére1, bleu matiére2, vert matiére3, blanc QCM se reportant aux 3 dossiers de couleur. L'équipe, c'est 6 rédacteurs, 6 relecteurs, 20 correcteurs, 25 surveillants et 800 étudiants. Nous récupérons à la fin 4 paquets de copies soit 3200 copies dont 800 sont traitées par AMC QCM. Les difficultés du multicopie sont techniques mais aussi diplomatiques auprès des membres de l'équipe...

La piste de Gérard Carpeaux est intéressante mais comme le dit Alexis Bienvenüe, je ne veux pas de copies différentes.
J'ai l'impression que une question multiple avec des réponse de type:
\bonne{X+Z=6}\bareme{???}
Pourrait répondre à mon probléme en remplacant ? par la bonne formule. Est-il possible de récupérer les résultats des réponses précédentes pour les injecter dans ?

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Alexis Bienvenüe almost 10 years ago

Est-il possible de récupérer les résultats des réponses précédentes pour les injecter dans ?

Malheureusement non. Il faudrait sans doute permettre d'utiliser une version de set.XXX=YYY qui donne une valeur à la variable XXX pour toute la copie : c'est à implémenter (#273).

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET almost 10 years ago

Voici ma tentative...qui ne fonctionne pas.

Je rapelle que je ne veux faire qu'un seul exemplaire.

Si je comprend bien mon exemple:
\Nsujet récupére le numéro de sujet et non le numéro d'étudiant. Existe il une facon de recupérer le numero d'étudiant?

Per contre:
Pourquoi Zi n'est pas mis à jour avec \bonne{5}\bareme{set.Zi=0}
Zi est aparement initialisé avec
\FPset{\Zi}{4.5}
et non
\bareme{default.Zi=0}
pourquoi?

ensemble.tex (4 kB)

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Pourquoi Zi n'est pas mis à jour avec \bonne{5}\bareme{set.Zi=0}

Je pense que \Zi est différent de Zi pour le langage informatique.

J'ai eu une idée similaire à la votre mais je ne l'ai pas testée. Ce serai de mettre dans

formula=(si coche Z=5 ?Zi=5 :Zi=6)

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Mon idée précédente ne fonctionne pas.
Je me suis tourné vers une autre piste mais pas mieux.

\begin{question}{impair}\bareme{default.point=0,formula=(point==1 ?( MAX=1, NBC) : MAX=0 )}
Z=5, calculer X+Z   -> x=3
\begin{reponseshoriz}
\mauvaise{6}\bareme{set.point=1}
\bonne{8}\bareme{set.point=1}
\mauvaise{7}\bareme{set.point=1}
\mauvaise{9}\bareme{set.point=1}
\end{reponseshoriz}
\end{question}

{\large Répondez à cette question si votre numéro d'étudiant est pair.$\downarrow$}

\begin{question}{pair}\bareme{default.point=0,formula=(point==1 ? (MAX=1,NBC) : MAX=0 )}
Z=6, calculer X+Z  -> x=1
\begin{reponseshoriz}
\mauvaise{6}\bareme{set.point=1}
\mauvaise{8}\bareme{set.point=1}
\bonne{7}\bareme{set.point=1}
\mauvaise{9}\bareme{set.point=1}
\end{reponseshoriz}
\end{question}

Pourtant dans l'annotation j'ai 0/1 et 0/0.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Frédéric Bréal almost 10 years ago

Une chose étrange se produit avec mon test. Avec ce code, le sujet au numéro d'étudiant pair fonctionne (j'ai 20/20) et le sujet impair (10/20).

Quand j'applique la même formule pour l'impair, les deux sujets reviennent à 10/20.

{\large Répondez à cette question si votre numéro d'étudiant est impair. $\downarrow$}

\begin{question}{impair}\bareme{default.impair=0,formula=(impair==1?MAX=1:MAX=0),NBC}
Z=5, calculer X+Z   -> x=3
\begin{reponseshoriz}
\mauvaise{6}\bareme{set.impair=1}
\bonne{8}\bareme{set.impair=1}
\mauvaise{7}\bareme{set.impair=1}
\mauvaise{9}\bareme{set.impair=1}
\end{reponseshoriz}
\end{question}

{\large Répondez à cette question si votre numéro d'étudiant est pair.$\downarrow$}

\begin{question}{pair}\bareme{default.pair=0,MAX=pair*NB,formula=NBC}
Z=6, calculer X+Z  -> x=1
\begin{reponseshoriz}
\mauvaise{6}\bareme{set.pair=1}
\mauvaise{8}\bareme{set.pair=1}
\bonne{7}\bareme{set.pair=1}
\mauvaise{9}\bareme{set.pair=1}
\end{reponseshoriz}
\end{question}

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET almost 10 years ago

J'ai enfin compris que mes variables latex sont différentes des variables AMC.

Voici un code qui fonctionne:

\begin{questionmult}{cm01}
\bareme{default.pair=0,default.Zi=6,formula=(((pair==1)and(Zi==6)) or ((pair==0)and(Zi==7)))?1:-1}
Choisir Z=5 si votre numero d'étudiant est pair ou Z=6 sinon.
Puis Calculer Z+1
  \begin{reponses}
    \bonne{cocher si numero pair}\bareme{set.pair=1}
    \bonne{cocher si numero impair}
Puis Calculer Z+1
    \bonne{Z+1=6} 
    \bonne{Z+1=7}\bareme{set.Zi=7}
         \end{reponses}
\end{questionmult}

Mais il reste les points suivants:
Est-il possible de récupérer le numéro d'étudiant directement? Pas le numéro de copie. Dans mon cas \AMCcode{Noetu}{7} (voir mon exemple en .tex joint plus haut)
Les variables ne semblent pas utilisables pour des questions différentes pour l'instant si j'ai bien compris...

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET almost 10 years ago

Voici un exemple très simple pour lequel le baréme dépend du numéro de sujet et non du numéro d'étudiant comme j'aimerais le faire.

\documentclass[a4paper]{article}

\usepackage[utf8x]{inputenc}    
\usepackage[T1]{fontenc}
\usepackage[ensemble,francais,ordre,outsidebox,bloc]{automultiplechoice}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{ifthen}
\usepackage{geometry}
\usepackage{fp,numprint}
\usepackage{caption}
\def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par{\bf Q\ifthenelse{#1<10}{\phantom{0}}{}#1}}
\makeatletter
\def\Nsujet{\the\AMCid@etud}
\makeatother

\geometry{hmargin=2cm} 
\begin{document}
\exemplaire{1}{
\FPeval{\pair}{\Nsujet/2}
Nombre: \numprint{\Nsujet} \\
%-----------------------------------------------------------------------
\begin{question}{cm01}
Ne surtout pas répondre C!
  \begin{reponses}
    \bonne{bon}
    \mauvaise{mauvais}
    \mauvaise{tres mauvais}
\FPifint{\pair}%
\bareme{-5}%
\else%
\bareme{-10}%
\fi
  \end{reponses}
\end{question}

Comment faire pour récupérer le numéro d'étudiant pour l'utiliser dans le baréme.
J'ai l'impression que ce n'est pas possible mais je me trompe peut-être.

Dans mon cas, le numéro d'étudiant se nomme Noetu et est récupéré de cette facon:

\AMCdebutFormulaire    

%%% début de l'en-tête de la feuille de réponses
\begin{center}{\large\bf DR0: Document réponses pour les QCM }\end{center}
\begin{minipage}[b]{.35\linewidth}
\textbf{\hspace{1cm}Numéro étudiant:}\\ \\
%%%code etudiant
{\setlength{\parindent}{0pt}\hspace{\fill}\AMCcode{Noetu}{7}\hspace*{\fill}}
\end{minipage}
\begin{minipage}[b]{.65\linewidth}
\hfill\champnom{\fbox{    
    \begin{minipage}{.8\linewidth}

      \vspace*{.5cm}Goupe :\dotfill      

      \vspace*{.5cm}Nom :\dotfill

      \vspace*{.5cm}Prénom :\dotfill
      \vspace*{3mm}
    \end{minipage}
  }}
  \hfill\vspace{1ex}

\textit{
Noircir les cases au stylo noir: pas de croix ni de case entourée!}
\\ \\
\bf {\large Voir consignes de remplissage au dos de la chemise principale.}
\\ \\
\em Les réponses de QCM sont à donner exclusivement sur cette feuille DR0:
Les réponses données ailleurs ne seront pas prises en compte.
%\vspace{1ex}
\hspace*{\fill}
\end{minipage}

%%% fin de l'en-tête de la feuille de réponses

\begin{multicols}{3}
\setlength{\parindent}{0pt}
%\AMCformS     
\formulaire
\end{multicols}
}  
\end{document}

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET almost 10 years ago

Bonjour,

Je n'ai pas eu de réponse sur:

Est-il possible de récupérer le numéro d'étudiant directement? Pas le numéro de copie.

Je met de coté l'automatisation compléte.
Pour cette année, je ferais un petit post traitement dans libre office.
Je vous ferais un retour du pourcentage d'étudiants capable répondre à une question de type:
Si votre numéro d'étudiant est pair alors...

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET about 9 years ago

Est-il possible de récupérer les résultats des réponses précédentes pour les injecter dans ?

Malheureusement non. Il faudrait sans doute permettre d'utiliser une version de set.XXX=YYY qui donne une valeur à la variable XXX pour toute la copie : c'est à implémenter (#273).

Cette amélioration a t elle une chance de voir le jour cette année?

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Al DUS about 9 years ago

Je ne sais pas quelle est l'application, mais utiliser le numéro d'étudiant n'est-il pas un moyen d'obtenir des copies avec un certain degré d'aléa ? Auquel cas, il existe d'autres moyens de personnaliser les sujets.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET about 9 years ago

Nous utilisons AMC QCM à une beaucoup trop grande échelle pour pouvoir faire des tirages différents avec une sécurité raisonnable: plus de 800 étudiants
Nos difficultés sont les suivantes:
- Tirage des sujets en offset
- Tirage des sujet sous traité. La correspondance sujet-doc réponse ne peut être garantie avec certitude.
- Étudiants répartis dans 20 amphis et salles distantes les unes des autres
- Le personnel surveillant les salles est parfois extérieur à l'établissement et n'est pas qualifié pour détecter et corriger les erreurs.

Il est donc délicat de faire des sujets différents dans notre cas. La seule solution que j'ai trouvé est de faire des variations possibles dans les réponses. S'il y a d'autres solutions, je suis preneur.
La philosophie est:
- Libre choix de certains critères
- Les réponses sont dépendantes de ces choix

De plus, cette philosophie correspond bien aux matières évaluées: fabrication mécanique et automatisme.
Il faut faire des choix techniques. Plusieurs solutions sont possibles. Une fois les choix faits, les calculs et la réalisation doivent être exacts pour que le projet fonctionne.

Ce type de sujet (un peut le style "le livre dont vous êtes le héros") n'est possible que s'il est possible de récupérer les réponses dans les questions suivante. C'est l'objet de #273.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Al DUS about 9 years ago

J'ai pris le temps de lire l'ensemble de la discussion et j'espère ne pas être à côté de la plaque cette fois !

Sauf impératif de place, on peut imaginer de découpler carrément les deux séries de questions, selon que le numéro d'étudiant est pair ou impair, par exemple en utilisant un environnement sur deux colonnes façon journal (ce qui permet aussi de gagner de la place). Il est alors facile de construire les bonnes réponses et le barème.

Le calcul du score se fait simplement par l'addition de tous les points aux deux séries de questions : on pourra vérifier visuellement (avec 800 exemplaires ... bof) ou faire une vérification ex post sur tableur pour s'assurer qu'aucun étudiant n'a des points dans chacune des séries de questions.

Pour s'assurer que les étudiants ont bien compris, on peut leur demander de rayer la partie du questionnaire qui ne les concerne pas.

Pour accéder à l'information de parité du numéro d'étudiant, pourquoi ne pas poser la question aux étudiants sur le QCM ? Avec le barème de cette question, on peut utiliser le set.XXX qui permettra d'utiliser la parité dans le reste du barème. Je n'ai jamais utilisé ces outils avancés du barème, alors c'est à tester.

En attendant que #273 apporte une solution plus satisfaisante...

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Benoit PIERRET about 9 years ago

Je ne sais pas si on se comprend bien.
Demander la parité aux étudiants, et utiliser set.XXX, c'est ce que j'ai fait l'année derniére.
Voir l'exemple plus haut du post du 27/05/2014 [[http://project.auto-multiple-choice.net/boards/4/topics/2417?r=2443#message-2443]]
Seulement set.XXX n'est pas utilisable que dans la question en cours et pas dans les questions suivantes. C'est l'objet de la demande #273.

RE: 2 idées d'amélioration: verification de la syntaxe du baréme et ecriture de questions dépendantes - Added by Al DUS about 9 years ago

En fait, je n'avais pas capté l'aspect local de XXX.
Une précision :
local par rapport à une question ou local dans un ensemble de questions ?

1 2 Next » (1-25/28)