Testování

Otázky v bance

Typy otázek, správné odpovědi, body, tagy a bezpečné úpravy.

Každá otázka má stabilní interní klíč, zadání, obtížnost, tagy, bodovou hodnotu a stav. Klíč slouží k propojení výsledků a neměl by vyjadřovat celé znění otázky.

Společné údaje

  • Klíč otázky musí být v rámci banky jedinečný.
  • Obtížnost je krátké označení používané při filtrování.
  • Tagy určují témata a umožňují sestavit test podle tematického plánu.
  • Body určují maximální zisk za otázku.
  • Neaktivní otázka zůstane v bance, ale nepoužije se v nově otevíraných testech.

Výběr jedné odpovědi

Příprava uzavřené otázky

  1. Napište jednoznačné zadání.

    Žák musí poznat, na co přesně odpovídá, i když dostane otázku mimo původní pořadí.

  2. Přidejte možnosti.

    Vytvořte alespoň dvě smysluplné možnosti, u každé vyberte Text nebo Kód a označte právě jednu správnou. Jazyk lze nastavit samostatně pro každou kódovou možnost.

  3. Doplňte vysvětlení.

    Vysvětlení pomáhá po vyhodnocení; nemělo by pouze opakovat správnou možnost.

  4. Zkontrolujte promíchání.

    Možnosti mohou být v testu promíchány, proto se v zadání neodkazujte na písmena A, B nebo pořadí.

Jana Dvořáková

Písemka – cykly

1Otázka 3 z 10 2Zbývá 18:42 3Uloženo

Otázka 3 z 10 · 1 b.

Co program vypíše?

for (int i = 0; i < 3; i++)
    Console.Write(i);
← Předchozí Další →

Takto vidí otázku žák v testu

  1. Pořadí otázky v žákově sadě. Při náhodném výběru má každý žák jinou sadu i pořadí.
  2. Zbývající čas – jen u testu s časovým limitem.
  3. Každá odpověď se hned ukládá na server. Když se uložit nepodaří, žák to tady uvidí a zkusí to znovu.
  4. Přehled otázek: zvýrazněné jsou zodpovězené, kliknutím na číslo žák přeskočí na otázku.
  5. Poznámky jsou jen pro žáka. Neodesílají se učiteli, nehodnotí se a po odevzdání zmizí.

Více správných odpovědí

Stejný editor možností jako u výběru jedné odpovědi, jen označíte všechny správné. Žák zaškrtává; automaticky dostane body jen za přesně správný výběr. Částečné body udělíte ve výsledcích testu.

Číselná odpověď

Žák napíše číslo. Zadáte správnou odpověď, toleranci (např. 0,01) a volitelně jednotku. Žák může psát desetinnou čárku i tečku, záporná čísla i zlomek (3/4). Hodí se třeba na „Co vypíše program?“.

Otevřená odpověď

Žák odpoví vlastními slovy. Odpověď hodnotíte vy: ve výsledcích testu čeká jako „Ke kontrole“ a udělíte jí body. Vzorová odpověď je vidět jen vám, vysvětlení se žákovi ukáže s výsledky.

Doplnění kódu

Otázka typu Doplnění kódu obsahuje kód s místy [[1]], [[2]] a dalšími. Ke každému místu nastavíte přijímané odpovědi, šířku pole a volitelnou nápovědu.

  • Každá značka v kódu musí mít právě jednu odpovídající definici místa.
  • U jednoho místa lze přijmout více rovnocenných zápisů.
  • Porovnání standardně ořezává nadbytečné mezery; rozlišování velikosti písmen lze nastavit.
  • Částečně správné doplnění může získat poměrnou část bodů.

Bloky před otázkou

Před samotné zadání lze vložit podporovaný obsah, například text, obrázek nebo ukázku kódu. Hodí se pro společný kontext, diagram nebo zdrojový kód, ke kterému se otázka vztahuje.

Duplikování a mazání

Duplikování vytvoří novou samostatnou otázku. Smazání otázky nepoškodí historické testy, protože otevřený test používá vlastní zmrazenou kopii zadání.

Typ již uložené otázky se nemění. Potřebujete-li z výběru odpovědi udělat doplnění kódu, vytvořte novou otázku.

Návrh otázky pomocí AI

Jednu otázku lze vložit ručně do vizuálního editoru. Má-li ale AI vytvořit výstup kompatibilní s importem, musí vrátit objekt v přesném přenositelném formátu níže. Objekt potom patří do pole questions v dokumentu fojtiklab-question-bank.

Přesný formát jedné otázky

{
  "question_key": "condition_if_001",
  "difficulty": "basic",
  "tags": ["conditions", "if"],
  "points": 1,
  "prompt": "Kdy se provede tělo příkazu if?",
  "options": [
    "Když je podmínka pravdivá",
    "Když je podmínka nepravdivá",
    "Vždy právě jednou"
  ],
  "correct_index": 0,
  "explanation": "Tělo if se provede pouze při pravdivé podmínce.",
  "code_language": "csharp",
  "code": ""
}

Zadání pro AI

Vytvoř jednu otázku pro [ročník/úroveň] k cíli: [co má otázka ověřit].
Vycházej pouze z tohoto učiva: [podklad].
Typ: [výběr jedné odpovědi / doplnění kódu]. Obtížnost: [basic/medium/hard].
Vrať pouze jeden JSON objekt ve stejné struktuře jako přiložená šablona, bez Markdownu a komentářů. Nepřidávej field_key, option.value, databázové ID ani jiná pole.
U výběru vytvoř 3 až 5 věrohodných možností s právě jednou správnou odpovědí. Pro text použij řetězec nebo objekt {"label": "..."}; pro kód přesně {"code": "...", "language": "jazyk"}. Jedna možnost nesmí obsahovat současně label i code. Nepoužívej „všechny možnosti“, záporné chytáky ani odkazy na pořadí možností.
U doplnění kódu použij type "fill_in_code" a přesnou strukturu z ukázky celé banky; u každého blanks[].id musí být právě jedna značka [[id]] v code. Uveď všechny rovnocenné přijímané zápisy.
Pokud správnost nelze z podkladu jednoznačně určit, nevytvářej JSON a upozorni na problém.

Před uložením si otázku zkuste zodpovědět bez pohledu na řešení. U programování navíc všechny přijímané varianty ručně ověřte v daném jazyce.