Import souborů ve formátu GIFT

GIFT je nejkomplexnější z formátů pro importování testových úloh Moodlu z textového souboru. Podporuje různé typy úloh: úlohy s výběrem odpovědí, s krátkou tvořenou odpovědí, s odpovědí pravda/nepravda, numerické úlohy, přiřazování, a také vložení _______ pro formát "vynechané slovo". V rámci jednoho textového souboru lze použít více typů úloh a formát GIFT zároveň umožňuje zadávat poznámky k úlohám, jména úloh, komentář k odpovědím a jejich hodnocení v procentech.

Kódování vašeho textového souboru musí být UTF-8 (pokud nepoužíváte pouze znaky sady ASCII). Příklad souboru s úlohami pro import najdete zde: gift/examples.txt.

TYPY ÚLOH

Úloha s výběrem odpovědí
U úlohy tohoto typu jsou nesprávné odpovědi uvozeny vlnovkou (~) a správné odpovědi rovnítkem (=).

     Kdo je pohřben v památníku na Vítkově?{~TGM ~Klement Gottwald =nikdo}

Zvláštní případ úlohy s výběrem odpovědí představuje formát "vynechané slovo", který na místo hledaného slova ve větě automaticky vloží značku vynechávky (_____). Varianty odpovědí se v zápisu úlohy "vynechané slovo" uvádějí na místě, kde se má tato značka objevit.

     V památníku na Vítkově byl {~otráven =pohřben ~oddán} Klement Gottwald.

Když jsou varianty odpovědí uvedeny kdekoliv před závěrečným interpunkčním znaménkem, vloží se na jejich místo automaticky značka vynechávky formátu "vynechané slovo". V tomto formátu lze zapsat všechny typy úloh.

Jednotlivé otázky musí být v souboru odděleny jedním prázdným řádkem (dvojité CR). Pro větší srozumitelnost můžete každou odpověď napsat na zvláštní řádek a případně i odsadit. Příklad:

     Americký Den díkůvzdání se slaví { 
         ~druhý 
         ~třetí 
         =čtvrtý 
         } čtvrtek v listopadu.
     
     Z jaké země původně pochází japonské písmo? {
         ~Indie
         =Čína
         ~Korea
         ~Egypt}

Úloha s krátkou tvořenou odpovědí:
U úlohy s krátkou tvořenou odpovědí jsou všechny odpovědi uvozeny rovnítkem (=), které značí, že jsou všechny správné. Žádná odpověď nesmí být uvozena vlnovkou.

     Kdo je pohřben v památníku na Vítkově?{=nyní již nikdo =nikdo} 

     Dvě a dvě se rovnají {=čtyřem =4}.

Pokud existuje pouze jedna správná odpověď, nemusí být uvozena rovnítkem. Pozor ale na na záměnu s úlohou typu "pravda/nepravda".

Úloha pravda/nepravda
U tohoto typu úlohy odpověď značí, zda je určité tvrzení pravdivé nebo nepravdivé. V zápisu úlohy uvádíme odpověď v podobě {TRUE} nebo {FALSE}, nebo zkráceně {T} a {F}.

     V památníku na Vítkově je pohřben Klement Gottwald.{F}

     Slunce vychází na východě.{T}

Přiřazování
Dvojice správných odpovědí začínají rovnítkem (=) a jsou odděleny symbolem "->". Musíte vytvořit alespoň tři páry odpovědí k přiřazení.

     Zadání úlohy. { 
         =otázka1 -> odpověď1 
         =otázka2 -> odpověď2 
         =otázka3 -> odpověď3 
         } 

     Přiřaďte k následujícím zemím jejich hlavní města. {
         =Kanada -> Ottawa
         =Itálie -> Řím
         =Japonsko  -> Tokio
         =Rakousko -> Vídeň
         }

U úloh typu "přiřazování" nelze k odpovědím připojovat komentář ani stanovit procentní hodnocení odpovědí.

Numerická úloha
Odpověď u numerické úlohy musí začínat znakem křížku (#). U odpovědi lze zároveň stanovit velikost přijatelné chyby, která se uvádí za správnou odpovědí a odděluje se dvojtečkou. Pokud je například správná odpověď jakákoliv hodnota z intervalu 1,5 až 2,5, zapíše se jako {#2:0.5}. To značí, že správná odpověď je hodnota 2 s přijatelnou chybou 0,5 (tedy interval od 1,5 do 2,5). Pokud není velikost chyby uvedena, předpokládá se, že je nulová.

     Kdy se narodil Tomáš G. Masaryk? {#1822}

     Jaká je hodnota pí (na tři desetinná místa)?{#3.1415:0.0005}.

Odpověď na numerickou úlohu může být zapsána také jako interval v následující podobě: {#MinimálníHodnota..MaximálníHodnota}

     Jaká je hodnota pí (na tři desetinná místa)? {#3.141..3.142}.

Uživatelské rozhranní Moodlu nedokáže pracovat s více variantami odpovědi na numerickou úlohu. Programový kód Moodlu i formát GIFT to však dovedou; toho lze využít pro zadání několika číselných intervalů v rámci jedné odpovědi, zvláště pak v kombinaci s procentním hodnocením jednotlivých variant. Pokud použijeme více správných odpovědí, musí být v zápise odděleny rovnítkem (stejně jako u otázek s krátkou tvořenou odpovědí).

     Kdy se narodil Tomáš G. Masaryk? {#
         =1822:0
         =%50%1822:2}

Vzhledem k tomu, že grafické uživatelské rozhraní Moodlu nedokáže pracovat s více variantami odpovědi na numerickou úlohu, nelze je v Moodlu ani prohlížet, ani upravovat. Chceme-li změnit druhou a další varianty odpovědi, nezbývá než otázku odstranit a znovu ji importovat s novou, rozšířenou odpovědí (nebo použít nástroj pro správu databáze, například phpMyAdmin).

VOLBY

Kromě těchto základních typů úloh nabízí filtr formátu GIFT další volby: poznámky k úloze, jméno úlohy, komentář k odpovědím a hodnocení odpovědí v procentech.

Poznámky k úloze
Textový soubor může obsahovat i informace, které se nebudou vkládat do Moodlu. Takto můžete úlohy opatřit např. nadpisy nebo dalšími informacemi. Filtr ignoruje všechny řádky začínající dvěma lomítky (tabulátory a mezery před nimi se neuvažují).

     // Podnadpis: Číselné úlohy
     Kolik je 2 plus 2? {#4}

Jméno úlohy
Na začátku úlohy můžete určit její jméno, které musí být uzavřeno do dvojitých dvojteček.

     ::Původ kandži:: Z které země původně pochází japonské písmo? {=Čína}

     ::Díkůvzdání:: Americký Den díkůvzdání se slaví {~druhý ~třetí =čtvrtý} čtvrtek v listopadu.

Jestliže jméno úlohy není určeno, použije se jako jméno celé její znění.

Komentář
Ke každé odpovědi lze připojit komentář; připojuje se za odpověď a uvozuje se křížkem (#).

     Která z těchto možností je správná?{
     ~chybná odpověď#komentář k chybné odpovědi 
     ~další chybná odpověď#komentář k této chybné odpovědi 
     =správná odpověď#komentář ke správné odpovědi}
     
     Kdo je pohřben v památníku na Vítkově?{
     =nyní již nikdo#výborně!
     =nikdo#výborně!}
     
     V památníku na Vítkově je pohřben TGM. {FALSE#Není a nikdy nebyl.}

U úloh s výběrem odpovědí se komentář zobrazí pouze k té variantě, kterou student zvolí. U úloh s krátkou tvořenou odpovědí se komentář zobrazí jen v případě, že student odpoví správně. U úloh pravda/nepravda se komentář zobrazí pouze tehdy, jestliže student odpoví nesprávně. V posledním uvedeném příkladě by se tedy komentář zobrazil pouze v případě, že by student zvolil odpověď "pravda".

Procentní hodnocení odpovědí
Procentní hodnocení odpovědí je k dispozici jak pro úlohy s výběrem odpovědí, tak pro úlohy s krátkou tvořenou odpovědí. Procentní hodnocení se vkládá za vlnovku (u úloh s výběrem odpovědí) nebo za rovnítko (u úloh s krátkou tvořenou odpovědí), přičemž daný údaj o procentech je uzavřen mezi dvěma znaky "%" (např. %50%). Toto nastavení lze kombinovat s komentáři k odpovědím.

     Složitá otázka.{~chybná odpověď ~%50%téměř správná odpověď =zcela správná odpověď} 

     ::Ježíšovo město::Ježíš Kristus byl z {
     ~Jeruzaléma#Jeruzalém je sice významné město, ale odpověď zní jinak.
     ~%25%Betléma#Zde se narodil, ale nevyrůstal.
     ~%50%Galileje#Je třeba být přesnější.
     =Nazaretu#Ano! Přesně tak!}.
     
     ::Ježíšovo město:: Ježíš Kristus byl z {
     =Nazaretu#Ano! Přesně tak!
     =%75%Nasaretu#Správně, ale pozor na pravopis.
     =%25%Betléma#Zde se narodil, ale nevyrůstal.}

Všimněte si, že poslední dva uvedené příklady obsahují tutéž otázku – poprvé jako úlohu s výběrem odpovědí, podruhé jako úlohu s krátkou tvořenou odpovědí.

Systém umožňuje zadat u variant odpovědi i procentní hodnoty, které NENABÍZÍ uživatelské rozhraní Moodlu. Tyto hodnoty budou testem zpracovány správně (podle určení hodnot při importu) a správně se také zobrazí studentům při řešení testu. Nebudou se však zobrazovat správně učiteli, pokud bude úlohu upravovat prostřednictvím uživatelského rozhraní (Úprava úlohy v modulu Test). Rozbalovací nabídka totiž povoluje pouze několik pevných hodnot, a pokud počet procent přesně neodpovídá ani jedné z nich, nezobrazí se správně. Pokud budete upravovat podobnou úlohu prostřednictvím uživatelského rozhranní, změní se procentní hodnota na některou z přednastavených hodnot.

Určete formát textu úlohy
Pro samotný text úlohy můžete určit jeden z volitelných textových formátů. V současné době jsou k dispozici formáty Moodle (Moodle auto-formát), html (Formát HTML), text (Čistě textový formát) a Markdown (Formát Markdown). Zvolený formát určíte v hranatých závorkách přímo před textem úlohy. Více o textových formátech v Moodlu.

[markdown]*Americký Den díkůvzdání* se slaví { 
       ~druhý 
       ~třetí 
       =čtvrtý 
     } čtvrtek v listopadu. 

Více odpovědí
Možnost "Více odpovědí" se používá pro úlohy s výběrem odpovědí, u nichž musí být označeny dvě a více odpovědí, aby student získal plný počet bodů. Možnost bude povolena, pokud přidělíte dílčí procentní hodnocení více odpovědím, ale zárověň zádné z nich neudělíte plné bodové ohodnocení.

     Kdo byl pohřben v památníku na Vítkově? { 
          ~Nikdo 
          ~%50%Klement Gottwald 
          ~%50%Představitelé komunistického režimu 
          ~TGM }

Povšimněte si, že žádná odpověď není uvozena rovnítkem (=). Součet bodů by zároveň neměl překročit 100 %, jinak Moodle zobrazí chybové hlášení. Aby student automaticky nezískal 100 % pouze tím, že označí všechny odpovědi, je dobré nastavit pro nesprávné odpovědi záporné procentní hodnoty.

     Kdo byl pohřben v památníku na Vítkově? { 
         ~%-50%Nikdo 
         ~%50%Klement Gottwald 
         ~%50%Představitelé komunistického režimu 
         ~%-50% TGM }

Speciální znaky ~ = # { } :
Znaky ~ = # { } slouží k řízení činnosti filtru a nelze je použít jako součást textu úlohy. Protože tyto znaky vykonávají při řízení činnosti tohoto filtru speciální funkci, nazývají se "řídicí znaky". V jistých případech je však použití některého z těchto znaků nezbytné, např. pro zápis matematického výrazu. Řešením tohoto problému je předejít interpretaci uvedených znaků jako řídicích – před znak se v tom případě vloží zpětné lomítko (\); filtr jej pak nebude považovat za znak řídicí a přepíše jej beze změny do textu úlohy. Příklad:

     Který výraz je roven 5? {
          ~ \= 2 + 2
          = \= 2 + 3
          ~ \= 2 + 4  }

     ::Řídicí znaky formátu GIFT::
     Který z následujících znaků NENÍ řídicím znakem importního formátu GIFT? { 
        ~ \~      # \~ je řídicí znak.
        ~ \=      # \= je řídicí znak.
        ~ \#      # \# je řídicí znak.
        ~ \{      # \{ je řídicí znak.
        ~ \}      # \} je řídicí znak.
        = \       # Správně! \ (zpětné lomítko) není řídicí znak. ALE
              používá se, chceme-li řídicí znak použít v textu úlohy.
     }

Při zpracování úlohy se zpětné lomítko odstraní a v Moodlu se do textu úlohy neuloží.

Další volby
V úlohách s krátkou tvořenou odpovědí můžete nastavit rozlišování malých a velkých písmen, pokud na následujícím řádku změníte "0" na "1":
$question->usecase = 0; // Ignore case

Další volby lze nastavit úpravou importního filtru gift/format.php.

 

PODĚKOVÁNÍ

Formát GIFT a filtr pro jeho převod do Moodlu byl vytvořen díky spolupráci řady tvůrců a uživatelů Moodlu. Jeho základem je formát "vynechané slovo", na jehož tvorbě se podíleli Martin Dougiamas a Thomas Robb. Importní filtr vytvořil v prosinci 2003 Paul Tsuchido Shew a zakomponoval do něj i připomínky ostatních, které se týkaly hlavně rozsahu možností formátu. Jméno GIFT vzniklo jako zkratka pro "General Import Format Technology"; to by ovšem byl příliš dlouhý název pro tak jednoduchý filtr, proto se mu říká prostě GIFT.

Dokumentaci k formátu GIFT vypracoval Paul Tsuchido Shew, http://ac.shew.jp. Poslední aktualizace proběhla 27. února 2004.

Rejstřík všech souborů nápovědy