Importazione di files in formato "GIFT"

GIFT è il più completo formato di importazione disponibile per caricare le domande di un quiz da un file di testo. Supporta i vari tipi di domande a Risposta multipla, Vero/Falso, Risposta breve, Corrispondenze, Numeriche e anche l'inserimento di un _____ per il formato "parola mancante". Differenti tipi di domanda possono essere mischiati in un unico file di testo, e il formato supporta anche righe di commento, nomi di domande, feedback, e voti pesati su base percentuale.

La codifica del file di testo deve essere utf-8 (a meno che si usino solo caratteri ascii). Un esempio di file di domande si trova al seguente link: gift/examples.txt.

Elementi fondamentali

Ogni singola domanda nel file GIFT non deve contenere alcuna riga vuota. Ogni domanda va delimitata da almeno una riga vuota. Se è necessario rappresentare una riga vuota nella domanda, bisogna inserire l'elemento \n. Commenti possono essere inseriti ovunque sia necessario ma devono iniziare con due barre (//) all'inizio della riga.

TIPI DI DOMANDE

Risposta multipla:
Per le domande a risposta multipla, le risposte errate sono precedute dal carattere tilde (~), mentre le risposte giuste sono precedute dal segno uguale (=).

     In quale isola è morto Napoleone? {~Elba ~Corsica =Sant'Elena}

Il formato"Parola mancante" automaticamente inserisce degli spazi da riempire (come questo _____) in mezzo alla frase. Per usare questo formato, si possono mettere le risposte dove si vuole che gli spazi appaiano nella frase.

     Napoleone è stato esiliato all'isola di {~Corsica =Sant'Elena ~Elba} dove è morto.

Se le risposte vengono prima del punto di chiusura della frase, degli spazi da riempire saranno inseriti come formato "parola mancante". In questo formato si possono scrivere tutti i tipi di domanda.

Si deve inserire una riga vuota (doppio invio) per separare le domande. Per chiarezza, le risposte possono essere scritte su righe separate e anche indentate. Per esempio:

     La festa Americana del Thanksgiving si celebra il {
         ~secondo
         ~terzo
         =quarto
     } Giovedì di Novembre.
     
     Da quale paese di origine deriva il carattere dei Giapponesi? {
         ~India
         =Cina
         ~Corea
         ~Egitto}

Risposta breve:
Le risposte alle domande del tipo Risposta breve sono tutte precedute dal segno uguale (=), che indica che tutte le risposte sono giuste. Le risposte non devono contenere il carattere tilde (~).

     Dove è morto Napoleone?{=in un'isola =a Sant'Elena}
Due più due uguale {=quattro =4}.

Se c'è solamente una Risposta breve giusta, questa può essere scritta senza essere preceduta dal segno uguale, purché non possa essere confusa con una risposta Vero-Falso.

Vero-Falso:
In questo tipo di domanda la risposta indica se l'affermazione è vera o falsa. La risposta dovrà essere scritta {TRUE} o {FALSE}, o, in forma abbreviata, {T} o {F}.

     Napoleone è morto all'isola d'Elba.{F}
     Il sole sorge a est.{T}

Corrispondenze:
Le coppie di corrispondenze cominciano con un segno uguale (=) e sono separate dal simbolo "->". Ci devono essere almeno tre coppie di corrispondenze.

     Domanda a corrispondenze. {
         =sotto-domanda1 -> sotto-risposta1
         =sotto-domanda2 -> sotto-risposta2
         =sotto-domanda3 -> sotto-risposta3
         }
     
     Accoppia i seguenti paesi con le corrispondenti capitali. {
         =Canada -> Ottava
         =Italia  -> Roma
         =Giappone  -> Tokio
         =India  -> Nuova Delhi
         }

Le domande a corrispondenza non supportano feedback o risposte a pesi percentuali.

Numerica:
La parte Risposta delle domande Numeriche deve cominciare con il simbolo cancelletto (#). Le risposte numeriche possono prevedere un margine di errore, che è scritto di seguito alla risposta corretta, separato da una virgola. Così, ad esempio, se la risposta corretta è un valore compreso tra 1.5 e 2.5, si dovrà scrivere {#2:0.5}. Questo indica che il risultato corretto è 2 con un margine di errore di 0.5 (e cioè l'intervallo da 1.5 a 2.5). Se il margine di errore non è specificato, si assume essere uguale a zero.

     Quando è morto Napoleone? {#1821}
     Quale è il valore di pi greco (con max 3 cifre decimali)? {#3.1415:0.0005}.

Opzionalmente, le risposte numeriche possono essere scritte come intervallo, nel seguente formato {#ValoreMinimo..Valore Massimo}.

     Quale è il valore di pi greco (con max 3 cifre decimali)? {#3.141..3.142}.

L'interfaccia tramite browser di Moodle non supporta risposte numeriche multiple, ma sia i programmi di Moodle sia il formato GIFT lo possono. Questo può essere usato per specificare più intervalli numerici, e può essere particolarmente utile se combinato con voti pesati percentualmente. Se sono utilizzate più risposte, queste possono essere separate da un segno uguale, come per le domande a risposte brevi.

     Quando è morto Napoleone? {#
         =1821:0
         =%50%1821:2}

Da notare che poiché l'interfaccia GUI del browser non permette più risposte per le domande numeriche, non c'è modo per vederle o editarle direttamente tramite Moodle. L'unico modo per gestire più di una risposta numerica è quello di cancellare la domanda e re-importarla (o usare qualcosa tipo phpMyAdmin).

OPZIONI

In aggiunta ai suddetti tipi di domande base, il programma filtro che gestisce il formato GIFT offre le seguenti opzioni: commenti, nome domanda, feedback e risposte pesate.

Commenti:
Sul file di testo si possono aggiungere commenti che non saranno importati dentro Moodle. Questo può servire per inserire delle testate o altre informazioni relative alle domande. Tutte le righe che cominciano con una doppia barra (senza contare eventuali spazi o caratteri di tabulazione precedenti) saranno ignorate dal filtro.

     // Sotto-testata: seguono le Domande Numeriche
     Quanto fa 2 + 2? {#4}

Nome domanda:
Un nome domanda può essere specificato inserendolo prima della domanda e chiudendolo tra due coppie di (:).

     ::Origini dei Giapponesi::Da quale paese deriva il carattere Giapponese? {=China}
     ::Giorno del Thanksgiving::
	 La festa Americana del Thanksgiving si celebra il {
         ~secondo
         ~terzo
         =quarto } Giovedì di Novembre.

Se non è specificato alcun nome domanda, la domanda stessa sarà usata come nome per default.

Feedback:
Un feedback può essere associato ad ogni risposta facendo seguire la risposta stessa da un carattere cancelletto (#, detto anche hash mark) e dal feedback.

     Qual'è la risposta a questa domanda a risposte multiple?{
     ~risposta sbagliata#commento feedback alla risposta sbagliata
     ~un'altra risposta sbagliata#commento feedback a questa risposta sbagliata
     =risposta giusta#Molto bene!}
     
     Dove è morto Napoleone?{
     =a Sant'Elena#Benissimo!
     =in un'isola#Bene!}
     
     Napoleone è morto in Corsica.{FALSE#No, Napoleone è morto a Sant'Elena.}

Per le domande a risposta multipla, il feedback è mostrato solamente per la risposta che lo studente ha selezionato. Per le risposte brevi, il feedback è mostrato solamente quando lo studente immette la risposta corretta corrispondente. Per le domande Vero-Falso, il feedback importato è salvato e sarà mostrato solo se lo studente sceglie la risposta sbagliata. Così nell'ultimo esempio riportato, lo studente vedrà il feedback solamente se sceglie VERO come risposta.

Risposte pesate:
Le risposte pesate sono previste sia nelle domande a risposta multipla sia nelle domande a risposta breve. I pesi delle risposte possono essere inseriti dopo il segno tilde (per le risposte multiple) o dopo il segno uguale (per le risposte brevi) con la percentuale di voto desiderata chiusa tra i segni percento (ad esempio, %50%). Questa opzione può essere combinata con i commenti di feedback.

     Domanda difficile.{~risposta sbagliata ~%50%risposta da metà punteggio =risposta da pieno punteggio}
          
     ::Dove è cresciuto Gesù::Gesù Cristo veniva da {
     ~Gerusalemme#Questa è un'importante città, ma la risposta è sbagliata.
     ~%25%Bethlemme#Gesù è nato qui, ma non vi è cresciuto.
     ~%50%Galilea#Devi essere più specifico.
     =Nazareth#Si! Giusto!}.
     
     ::Dove è cresciuto Gesù::Gesù Cristo veniva da {
     =Nazareth#Si! Giusto!
     =%75%Nazereth#Giusto, ma scritto male.
     =%25%Bethlemme#Gesù è nato qui, ma non vi è cresciuto.}

Notare che i due ultimi esempi sono essenzialmente la stessa domanda, la prima a risposte multiple, la seconda a risposta breve.

Notare che è possibile specificare pesi delle risposte che NON è possibile specificare attraverso l'interfaccia del browser. La scelta Valori corrispondenti nel pannello di importazione determina come tali valori saranno trattati. Si può decidere che sia riportato un errore in caso di non corrispondenza ai valori previsti oppure che il peso delle risposte sia modificato con quello valido più approssimato.

Specifica della formattazione del testo per la domanda
Per il testo della domanda (solamente) si può specificare opzionalmente un tipo di formattazione. Attualmente i formati disponibili sono moodle (formato automatico di Moodle), html (formato HTML), normale (formato di testo normale) e markdown (formato Markdown). Il formato è specificato tra parentesi quadre subito prima del testo della domanda. Altre informazioni sui formati del testo in Moodle.

[markdown]La *festa Americana del Thanksgiving* si celebra il {
         ~secondo
         ~terzo
         =quarto } Giovedì di Novembre.

Risposte multiple:
L'opzione Risposte multiple è usata per le domande a risposta multipla, quando due o più risposte devono essere scelte per ottenere un punteggio pieno. Questa opzione si attiva assegnando pesi parziali a più risposte, e non permettendo che alcuna risposta abbia il punteggio pieno.

     Quali sono i nomi dei fratelli Bandiera? {
          ~Nessuno
          ~%50%Attilio
          ~%50%Emilio
          ~Antonio}

Notare che non c'è il segno (=) in alcuna risposta e la somma delle percentuali non deve essere superiore a 100, altrimenti Moodle darà un errore. Per evitare il fatto che gli studenti potrebbero ottenere automaticamente 100% semplicemente accettando tutte le risposte, è meglio dare un peso negativo alle risposte sbagliate.

     Quali sono i nomi dei fratelli Bandiera? {
          ~-%50%Nessuno
          ~%50%Attilio
          ~%50%Emilio
          ~-%50%Antonio }

Caratteri speciali ~ = # { } :
Questi simboli ~ = # { } controllano l'esecuzione di questo programma filtro e non possono essere utilizzati nelle domande come testo normale. Poiché essi hanno un ruolo speciale nel determinare l'operazione del filtro, sono chiamati "caratteri di controllo". Ma può succedere che si ha bisogno di usare uno di questi caratteri, per esempio per mostrare una formula matematica all'interno di una domanda. La scappatoia per aggirare questo problema è quella di "evitare" i caratteri di controllo, con un carattere di "escape". E' sufficiente anteporre una barra rovesciata (\) al carattere in questione, in modo da dire al filtro che il carattere che segue deve essere usato come un carattere normale e non come un carattere di controllo. Per esempio:

     Quale risposta è uguale a 5? {
          ~ \= 2 + 2
          = \= 2 + 3
          ~ \= 2 + 4  }
     ::Caratteri di controllo GIFT::
     Quale dei seguenti NON è un carattere di controllo nel formato di importazione GIFT? {
        ~ \~     # \~ è un carattere di controllo.
        ~ \=     # \= è un carattere di controllo.
        ~ \#     # \# è un carattere di controllo.
        ~ \{     # \{ è un carattere di controllo.
        ~ \}     # \} è un carattere di controllo.
        = \      # Giusto! \ la barra rovesciata (backslash) non è un carattere di controllo. Ma
                   è usata per aggirare i caratteri di controllo.}

Quando la domanda è elaborata la barra rovesciata è eliminata e non è salvata in Moodle.

Definizione delle Categorie

Nel file GIFT è possibile cambiare la categoria nella quale le domande vanno aggiunte. La categoria può essere modificata nel file quante volte si vuole. Tutte le domande dopo l'elemento di modifica, fino al prossimo elemento, sono aggiunte alla categoria specificata. Fino al primo elemento di modifica sarà utilizzata la categoria specificata nel pannello di importazione. Da osservare che perché tutto questo funzioni, deve essere marcato il box da file: sul pannello di importazione.

Per inserire un elemento di modifica della categoria includere una riga come questa (con una riga vuota prima e una dopo):

$CATEGORY: tom/dick/harry
o semplicemente
$CATEGORY: miacategoria
...il primo esempio specifica un path di categorie nidificate. In questo caso le domande andranno in harry. Le categorie, se già non esistono, saranno create.

Altre opzioni:
Le domande a risposta breve possono essere rese sensibili alla presenza delle maiuscole cambiando "0" in "1" nella seguente riga:
$question->usecase = 0; // Ignora le maiuscole

Indice di tutti i file di aiuto