Odborný článek

Algoritmizace hrou

23. 5. 2013 Gymnaziální vzdělávání
Autor
Ing. Ivan Ryant
Spoluautoři
Bc. Ondřej Calda
Bc. Josef Donoval
Ondřej Fogatoš
Bc. Marek Manukjan
Bc. Jan Sedláček

Anotace

Tento článek pojednává a využití počítačové hry na principu adventury ve výuce. Navazuje na článek Didaktické hry ve výuce informatiky, který se zabývá jiným typem hry – hrou akční. Hra uvedená v tomto článku slouží k výuce tématu algoritmizace z RVP G. Zájemci si mohou hru stáhnout a vyzkoušet.

Když jsem před čtyřmi lety dostal za úkol vyučovat základy algoritmizace v rámci povinné informatiky na gymnáziu, nepohodl jsem se s předsedkyní předmětové komise a po zkušenostech z nechtěné výuky jsem napsal článek Nahraďte algoritmizaci systémovým přístupem! Tam jsem vysvětlil řadu omylů a předpojatostí, kterými se proviňujeme na našich žácích, když nechceme nebo nemůžeme ustoupit od výuky tzv. „algoritmizace“.

Samozřejmě jsem začal uvažovat i o tom, zda bych se nemohl začít živit nějak poctivěji, ale přece jen jsem našel rozumný kompromis. Naprogramoval jsem didaktickou hru Záhada slibového pahorku. Spojil jsem dohromady robota Karla s principem adventury. Technicky vzato, výsledek funguje jako Karel s pevně naprogramovaným dvorečkem. Tím způsobem

  • zadávám žákům úlohy postupně od jednoduchých až k nejnáročnějším;
  • mohu připravit zvuky, obraz a animace na míru zadanému dvorečku.

Z hlediska žáka je to především hra s pohyblivými obrázky a zvuky, kde najde staré známé: avatara, mise, levely a trofeje. S grafikou jsem se vypořádal jednoduše: zašel jsem na nedaleký pahorek Na zámcích, kam jsem umístil děj hry. Tam jsem pořídil několik desítek fotografií a krátkých videí. Výsledkem byl spíš amatérský pokus než profesionální produkt, nicméně i tak žáky zcela zaujal a nedokonalost mi prominuli. Také po stránce didaktické měla hra různé nedostatky. Nejhorší asi bylo, že žáci mohli obejít zamýšlenou konstrukci univerzálního algoritmu. Stačilo, když se jim metodou pokus–omyl podařilo najít jednoúčelový scénář, který provedl avatara bludištěm tak, aby cestou posbíral všechny trofeje. Pro žáky zase bylo nejhorší, že se museli prokousávat poměrně rozsáhlým návodem v textové podobě. Celkem dobře fungovalo automatické průběžné zaznamenávání výsledků, takže

  • hru bylo možné přerušit a pokračovat příští hodinu;
  • po skončení hry jsem dostal přehlednou tabulku výsledků.

Didakticky je asi nejpřínosnější to, že se převrátí role učitele a žáka: žák je iniciativní, sám si organizuje práci, sám se ptá, když potřebuje poradit. Kdežto učitel jen reaguje: odpovídá na otázky, radí, pomáhá. Učitel řídí, kontroluje a hodnotí, jen když se činnost žáků začne vymykat z předem stanovených pravidel hry – a to se běžně nestává. Ověřil jsem si, že tudy vede cesta, ale k dosažení cíle moje síly nestačily.

O podobný způsob vyučování se snaží učitelé na Fakultě informačních technologií (FIT) ČVUT při cvičeních: iniciativa je věcí studenta, kdo nechce studovat, toho nikdo nenutí. Místo donucování takový "nestudent" dostává řadu stále vážnějších varování, na jejímž konci hrozí nedobrovolné oficiální ukončení studia. Jistěže je a má být rozdíl mezi střední a vysokou školou, nicméně direktivní vyučování není oblíbené ani mezi středoškoláky. Snad by stačilo, kdyby ta průběžná varování měla na střední škole jinou podobu i důsledky pro studenta (např. osobní pohovor s učitelem, projednání nedostatků s rodiči nebo nařízenou konzultaci se studijním, příp. výchovným poradcem). A co si budeme povídat, na roli drába, krotitele nebo dozorce si neustále stěžují i učitelé – tak proč to nezměnit?

Projekt „Algoritmizace hrou“

Na FIT jsme využili příležitosti v rámci předmětu Softwarový týmový projekt a vytvořili jsme na námět Záhady slibového pahorku podobnou hru, která slouží stejnému účelu – žák se naučí vymýšlet algoritmy a vyjadřovat je formálně v jednoduchém programovacím jazyce.

přihlášení žáka po spuštění hry
Obr. 1: přihlášení žáka po spuštění hry
Autor díla: Josef Donoval

Žák se musí nejprve přihlásit jménem a heslem a připojit se k serveru, kam se ukládá stav rozehrané hry a dosažené výsledky. Pak se přehraje úvodní videoklip s komentářem a zobrazí se hrací plocha a vývojové prostředí. Ve vývojovém prostředí žák vytváří programy, tak aby splnil zadanou misi na každé úrovni (levelu). V hracím prostředí se pak přehrává animovaný běh spuštěného programu.

prostředí pro vytváření a spouštění programů
Obr. 2: prostředí pro vytváření a spouštění programů
Autor díla: Marek Manukjan

Nejnižší, úvodní úroveň hry slouží k tomu, aby se žák naučil zacházet s vývojovým prostředím a pochopil princip hry. Jak hra postupuje k vyšším úrovním, žák se postupně naučí seskupovat příkazy do posloupností a z těch vytvářet nové procedury (slova), dál potom testovat podmínky a podmiňovat vykonávání příkazů a konečně spouštět procedury rekurzivně. Na nejvyšších úrovních konstruuje poměrně složitý algoritmus, který provede avatara neznámým bludištěm bezpečně až do cíle. Jedná se o univerzální algoritmus typu „myš v bludišti", který v principu umožňuje hledat řešení libovolné úlohy (jeho chytře upravená verze je využita např. v jazyce Prolog). Žák, kterému se podaří splnit i poslední misi, nemůže nepochopit, co je to algoritmus, k čemu slouží a jak se konstruuje.

Hrací prostředí má grafickou podobu na úrovni obvyklé v hrách. Pohyb avatara je náležitě animován. Každá úroveň hry je uvedena a zakončena videoklipem s mluveným komentářem a také na hrubé chyby, kterých se avatar dopustí, je hráč upozorněn vhodným videoklipem. Žáci tak pracují v prostředí, jaké důvěrně znají z dobrodružných počítačových her.

Instalace hry je podrobně popsaná v příručce. V případě, že škola běžně neprovozuje vhodné servery, je třeba napřed nainstalovat webový a databázový server. Pak už je snadná jak instalace serverové části s databázovou aplikací pro učitele, tak i instalace klientů. Učitelská aplikace slouží k přehlednému zobrazení výsledků a tím i k hodnocení výkonu žáků.

Hra běží pod operačním systémem Microsoft Windows v prostředí .NET. Typicky se hraje v lokální školní síti, kde se ukládají průběžné stavy jednotlivých her do společné databáze, a tam se také shromažďují výsledky. Učitel má k dispozici databázovou aplikaci, která mu výsledky přehledně zobrazí.

Závěr

Hra byla průběžně testována během vývoje i celkově po dokončení. V nejbližší době ji chceme vyzkoušet ve výuce na gymnáziu Ústavní v Praze 8, kde působím. Kdo by měl zájem také vyzkoušet hru ve výuce, ať si ji stáhne z digifolia na adrese http://users.fit.cvut.cz/ryantiva/AlgoritmizaceHrou.zip Budeme rádi, když nám sdělíte svoje poznatky, připomínky a přání. Vzhledem k tomu, že vývojový tým po dokončení projektu zanikl, nemůžeme poskytovat běžnou uživatelskou podporu ani opravovat chyby. Můžeme ovšem zadat návazný projekt pro jiný tým, který pak vytvoří dokonalejší hru. A k tomu nutně potřebujeme ohlas uživatelů.

S programem je potřeba zacházet v souladu s autorským zákonem. Jedná se o školní dílo, které jeho autoři a FIT ČVUT poskytují k vyzkoušení a pro vzdělávací účely.

Literatura a použité zdroje

[1] – Didaktické hry ve výuce informatiky. 2013. [cit. 2013-4-20]. Dostupný z WWW: [http://clanky.rvp.cz/clanek/s/G/16953/DIDAKTICKE-HRY-VE-VYUCE-INFORMATIKY.html/].
[2] – RYANT, Ivan. Nahraďte algoritmizaci objektovým přístupem!. 2009. [cit. 2013-4-20]. Dostupný z WWW: [http://clanky.rvp.cz/clanek/s/G/3206/NAHRADTE-ALGORITMIZACI-SYSTEMOVYM-PRISTUPEM.html/].

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Vazby na další články:

Navazuje na téma článku: