» Home Page
MCQ-XeLaTeX: Multiple Choice Question (per la matematica) quickstart.

Istruzioni veloci

Per installare velocemente e provare MCQ-XeLaTeX, procedere come segue. Per informazioni su cos'è, come funziona, qui c'è la documentazione completa.

Si veda anche in questa pagina (in inglese).

Prerequisiti

Il file degli esercizi

Dopo avere scaricato il file di esempio esercizi.tex, si può modificarlo e compilarlo.

Importante: il file $\LaTeX$ deve essere sempre compilato con il comando "xelatex". Dato che si usa "xelatex", è necessario che il file .tex sia codificato con l'encoding UTF8.

Compilando il file\(\LaTeX\)

~$ xelatex esercizi.tex 
...
~$ xelatex esercizi.tex
...

si dovrebbe ottenere un pdf come questo.

Stampare 40 copie

Per stampare copie multiple del test, con esercizi e soluzioni permutate, occorre utilizzare il programma "mcq.py" con l'opzione "-n". Per esempio, per averne 40 copie distinte :

~$ mcq.py -n 40 esercizi.tex

Viene generato il file "esercizi_exam.tex", che a sua volta deve essere bi-compilato con "xelatex"; questo genera "esercizi_exam.pdf" che deve essere stampato su una stampante (fronte/retro) di qualità decente e contiene le 40 copie (distinte e permutate). Se occorre cambiare qualcosa, lo si faccia sul file "esercizi.tex", e mai su "esercizi_exam.tex", che viene generato automaticamente.

Importante: quando si stampa, occorre evitare riscalamenti del foglio (cioè, bisogna stamparlo al 100% della sua dimensione).

A questo punto si possono consegnare i fogli con il quiz agli studenti, che riempiono le bolle (con matita nera o penna nera, seguendo le istruzioni), e consegnano solamente il "bubblesheet", cioè la prima pagina con le bolle.

Per la correzione, si procede in due modi. Nel modo manuale (senza OMR) o in modo automatico (con OMR).

Modo Manuale ("Manual" Mark Recognition)

Occorre creare un file "output.txt", come il seguente, con i dati di ogni compito da valutare:

7yFH:Verdi, Giuseppe    :736220:D0ABC0ACD0:
xE72:Rossi, Paolo       :735221:DA0CBBA0CB:
6FB2:Bianchi, Michele   :739223:0AADC00C0B:
H63z:Neri, Valentina    :735333:BDACCABCCD:

Ad ogni compito corrisponde una riga. I campi sono divisi con i due punti ":". Il primo campo è l'etichetta unica del compito (si legge in alto, su ogni foglio). Il secondo campo è il Cognome+Nome. Il terzo campo è il numero di matricola. Il quinto è la stringa di risposte, terminata da ":".

La stringa delle risposte deve essere lunga quanto il numero di domande, con al posto $i$ la lettera corrispondente alla risposta scelta dallo studente per la domanda $i$-esima, se è stata selezionata, altrimenti la cifra "0". Maiuscole e minuscole sono equivalenti.

OMR (Optical Mark Recognition)

Con l'OMR, si utilizzi uno scanner con feeder automatico per convertire in PDF le pagine con i bubblesheet compilate dagli studenti. Dovrebbero essere almeno a 150 DPI, le immagini. Molto meglio a 200-300 DPI (gli artefatti diminuiscono).

Supponiamo che i file siano s1.pdf s2.pdf s3.pdf (ognuno con 20 schede). Allora con il comando (occorre essere collegati a internet)

~$ mcq.py --omr=esercizi.tex s1.pdf s2.pdf s2.pdf > output.txt

si genera il file "output.txt", che riporta, in ogni riga, l'etichetta (a 4 cifre) del compito, la matricola e le risposte, nel formato

<etichetta>:      :<matricola>:<risposte>:

Se tutto va bene, dovrebbe comparire anche un file omr-output.pdf con dettagli sul procedimento di optical mark reading.

Occorre analizzare il file omr-output.pdf, e controllare che non ci siano stati errori di lettura (verde=OK, giallo=attenzione, rosso=errore).

Gli errori possono esserci perché i segni a penna escono troppo dal confine ammissibile, oppure perché l'area non è stata riempita abbastanza. Purtroppo ci sono sempre studenti che hanno difficoltà a segnare correttamente le risposte...

Se le schede da correggere sono molte (più di 100-200), sarebbe molto meglio eseguire questa operazione più volte su parti diverse (e disgiunte) dell'insieme delle schede (creando quindi output1.txt, output2.txt, output3.txt ...), perché così è più facile controllare gli errori. Tra l'altro correggere contemporaneamente più di un certo numero di schede non è possibile, per il software, che ha un limite sulle risorse che può usare.

A questo punto occorrerebbe inserire nel secondo campo il Cognome-Nome dello studente (di cui la matricola è nota). Ci sono un po' di modi diversi di farlo (aggiungerli a mano, usare la funzione "mcq.py --uid=" -come spiegato nella documentazione-, usare la funzione VLOOKUP() tra due tabelle di openoffice... ).

Supponiamo ora di avere un unico file di testo "output.txt" con le righe del tipo (importante: il separatore sono i due punti ":"), prodotto in modo automatico o no.

<etichetta>:<Cognome, nome>:<matricola>:<risposte>:

Correzione/valutazione

Per la correzione vera e propria, occorre eseguire il comando

~$ mcq.py --db=esercizi_exam.db output.txt > risultati.txt

Nel file "risultati.txt" ci sono i numeri di matricola e i voti aggregati. Nel file "esercizi_exam.csv", un po' più completo (le cui ultime due colonne sono da ignorare, però), ci sono tutti i dati, incluso la valutazione.

Attenzione che i voti assegnati alle risposte giuste/sbagliate/mancate erano determinati nel file esercizi.tex. Se si vogliono cambiare adesso, occorre ricominciare dall'inizio e rigenerare anche esercizi_exam.tex.

Statistiche

Un'ultima interessante possibilità è il calcolo di alcuni indici statistici sulle risposte:

~$ mcq.py --stats=esercizi_exam_stats.db esercizi.tex >esercizi_stats.tex

Occorre poi compilare "esercizi_stats.tex" con xelatex qualche volta, per avere una versione del compito annotata con indici statistici (utili per verificare se ci sono stati errori nell'elaborazione o nella creazione del test).

Approfondimenti: integrazione con MOODLE, esercizi XHTML-CSS, selezione automatica da una question bank, ...

La documentazione completa è qui.

Licenza d'Uso (EULA)

Si può usare il sofware linkato in questa pagina a scopo di prova e valutazione del medesimo, as-it-is, senza nessuna garanzia, alle seguenti ulteriori condizioni. Scaricando il software si accettano automaticamente questi termini e condizioni.

Licenza Creative Commons
Questo opera è distribuito con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

(E' vero che la CC non sarebbe una licenza per software, ma non è nemmeno davvero software in senso tradizionale, questo sistema. E' una forma strana di ibrido).