Digitální hry jako nástroj pro výuku programování

Ondřej Myšák
EDTECH KISK
Published in
8 min readJan 19, 2019

Programování je pro mnohé lidi stále neznámá oblast, od které si drží odstup. Ať už se jedná o obavy z toho, že naučit se tuto kompetenci by bylo příliš náročné nebo o to, že člověk nevidí důvod k učení takové schopnosti. Přesto je dnes již mnoho způsobů, jak výuku programování zjednodušit, zkvalitnit, přiblížit člověku, který s programováním nemá zkušenost.

Stejně jako jiné předměty ve výuce by mohlo programování rozšířit kompetence studentů v mnoha ohledech, nejen ve znalosti programovacího jazyka — Seymoue Papert a Alan Kay upozorňují na to, že se programováním rozvijí schopnosti řešení problémů, designování a přemýšlení nad strategiemi. To je dáno tím, že při programování musí člověk vždy hledat řešení nějakého problému.[1] Je ovšem stále diskutovanou otázkou, nakolik a proč by se studenti měli programování učit. Programování je zároveň označováno jako předmět nové generace, který propojuje například lingvistiku, matematiku a ekonomiku.[2][3]

Cílem tohoto textu ovšem je prozkoumání jedné z mnoha výukových metod v této oblasti. Jedná se o oblast digitálních her, které nabízí studentům atraktivní prostředí pro výuku a zároveň umožňuje se vzdělávat různými způsoby. Kurt Squire popsal několik základních principů, které by měla edukativní hra obsahovat, aby naplno plnila svůj účel. U digitálních her je zajímavá ale i ta vlastnost, že edukativní vlastnosti jsou nejen ve hrách, pro vzdělávání určených, ale i v těch, kde vzělávací potenciál nebyl záměrem vývojářů. [4]

Ve druhém jmenovaném případě může pak jít o hry, odehrávající se v nějakém historickém období, kde se tvůrci snažili vytvořit hru co nejvěrněji historickým faktům. Jedním takovým příkladem je Civilizace (1991), kterou zmiňuje i Kurt Squire. Ve hře zaměřené na historii lidské společnosti hráč v průběhu hry prochází celou historií. Plněním určitých cílů dodržuje i letopočty, kdy se události udály.[5] Podobně bychom mohli chápat třeba populární sérii Assassin’s Creed, kde je ovšem věrnost historickým událostem mnohdy diskutabilní. Ve hře z roku 2017 proto autoři vydali i přídavek do hry, který přidal encyklopedický mód. V něm bylo možné studovat fakta během průchodu virtuálním prostředím starověkého Egypta.[6]

Tyto hry se však nezaměřují na programování, které je tématem tohoto textu. Programování vyžaduje trochu jiné herní mechaniky než výše zmíněné projekty. Účelem her, které programování vyučují přitom obvykle není výuka konkrétního programovacího jazyka, ale principů, které k programování potřebujeme znát.

Jako první příklad hry pro výuku programování bychom si mohli vybrat Human Resource Machine (2015). Jedná se o graficky jednoduchou hru, založenou na hádankách. Konkrétně bychom tuto hru zařadili do žánru puzzle her, v nichž je řešení hádanek klíčovým prvkem. Hráč si vždy vybere úroveň, kterou chce spustit a následně se mu zobrazí úroveň s hádankou. Přesněji řečeno hráč vždy vidí na pravé části obrazovky text, popisující jeho aktuální úkol, zatímco pomocí přiložených příkazů musí sestavit funkční “kód”. Ve chvíli, kdy hráč sestaví příkazy do správného pořadí, začne avatar provádět požadované akce v hráčem určeném pořadí. Úkolem je přitom vždy dostat zboží z bodu A do bodu B, liší se ale obvykle především podmínky, ve kterých má toto zboží přesunout na vedlejší pás.

Human Resource Machine (2015). Zdroj: https://store.steampowered.com/app/375820/Human_Resource_Machine/

Jednoduchý princip, připomínající programování by mohl být jedním ze způsobů, jak pochopit programátorské myšlení. V Human Resource Machine je použitý princip přirovnáván k jazyku symbolických adres (známé také jako assembly nebo assembler), ze kterého si hra bere některé základní programovací prvky.[7] Ve hře tak můžeme vidět příkazy typu INBOX, OUTBOX apod. Hra vyšla i v samostatné edukativní edici Human Resource Machine EDU, která je určena speciálně pro výuku a obsahuje navíc různé nástroje pro vyučující.[8][9]

Mohli bychom si klást otázku, nakolik jsou digitální hry správná forma pro výuku tohoto předmětu. Pozitivní výsledky v tomto ohledu přináší výzkumy věnované hře Minecraft. Tato sandboxová digitální hra nabízí studentům v první řadě známé prostředí. Ačkoli mohou být názory na tuto hru ve společnosti různorodé, nelze popřít, že disponuje zajímavými nástroji pro výuku.

Hra se řadí do žánru sandboxových her, které se vyznačují otevřenými světy a volností v konání svých akcí.[10]V případě Minecraftu má hráč k dispozici otevřený svět, v němž může budovat budovy, postavy, sochy a mnoho dalšího. Záleží tu především na hráčově fantazii. Jistým omezením v jeho kreativitě je fakt, že se buduje z krychlí, které skládá za sebe tak, aby tvořily požadované dílo. Vizuálně tedy nelze vytvořit obraz úplně dle představ každého. Hra má zároveň pixelartové grafické zpracování, takže může působit retro dojmem. Přesto si hra získala velkou oblibu v hráčské komunitě.[11]

V roce 2016 vydala společnost Microsoft hru v edici pro výuku nazvanou Minecraft: Education Edition, která je nástavbou původního MinecraftEdu (2011). Hra obsahuje desítky nástrojů pro učitele, které jim umožňují využití ve výuce mnoha způsoby. Nemluvíme tu tedy jen o výuce programování, ale také jiných předmětů. Díky své volnosti lze pomocí této hry učit například dějepis, zeměpis a jiné předměty. Programování je jen jednou z mnoha disciplín, k jejichž výuce má hra připravené nástroje.[12]

Minecraft: Education Edition (2016). Zdroj: https://blogs.msdn.microsoft.com/ukschools/2016/06/14/minecraft-education-edition-is-here/

Přestože se nejdená v ČR o tak rozšířenou výukovou metodu, našli bychom tu také několik škol, kde Minecraft ve výuce používají právě pro výuku programování. Školy, kde tuto metodu používají, ji označují jako dobrý doplněk, kterým by nebylo možné nahradit výuku jako celek. Přesto se jedná o efektivní metodu, která studentům pomáhá si programování lépe osvojit.[13] Efektivitu prokázalo i několik zahraničních výzkumů, kde nám data ukazují, že učení pomocí Minecraftubylo pro studenty v první řadě zajímavější, zábavnější, ale také že téma v takové výuce snadněji pochopili.[14]

Výuka v takové hře vypadá například tak, že si nejprve před výukou vytvoří svoji výukovou lekci. Tvorba takové lekce ovšem zabere desítky hodin, proto je výhodou, že Minecraft: Education Edition využívá principu otevřených vzdělávacích zdrojů a dává možnost své materiály sdílet. Vyučující si tedy může stáhnout výukovou lekci, kterou již připravil některý vyučující dříve. Tuto lekci se může následně ještě upravit dle svých potřeb.

V hodině potom studenti usednou k počítači a spustí hru. Prostřednictvím avatarů se studenti pohybují po virtuálním prostředí a mohou plnit různé úkoly. Vyučující může studentům předat zadání prostřednictvím hry, ale i krátkým slovním úvodem, ještě předtím, než začnou hru hrát. Ve hře potom dostanou za úkol například postavit budovu, která bude vykonávat stanovené funkce nebo mohou do hry zasadit zvíře, které se bude určitým způsobem pohybovat podle toho, jak jej student naprogramuje. Možné je také vytvořit hádanku, kdy vyučující naprogramuje funkci a student bude přemýšlet nad tím, jak funguje a bude se snažit vytvořit stejný model.[15][16]

Jak vyplývá z předchozího odstavce, fantazií se meze nekladou nejen u studentů, ale i u vyučujících. Některé hry jako například právě Minecraft nabízí vyučujícím tak svobodné prostředí, že si mohou formu výuky v této hře sami navrhnout a vytvořit. V jiných hrách jako zmíněný Human Resource Machine jsou možnosti pro vyučujícího naopak omezenější a mají pevně daný způsob, jak může vyučující studenta prostřednictvím hry učit.

Závěr

Podobných her bychom si mohli zmínit desítky, dnes již nejde o takovou novinku jako před lety. Na druhou stranu, je metoda využití digitálních her ve výuce stále relativně málo rozšířená a zatím zůstává otázkou, nakolik se v budoucnu rozšíří. Nicméně ale z dosavadních poznatků už teď víme, že je v mnoha ohledech efektivní. Výuka programování v tomto není žádnou výjimkou a máme desítky možností, jak se programování prostřednictvím her učit. Zatímco Minecraft disponuje výhodou vysoké popularity, může vyučující (ale i student) sáhnout po hrách jako Shenzhen I/O, Spacechem…možností je několik, přičemž každá má svá specifika. Společný mají především princip založený na logice programování, kterou se snaží studentům vysvětlit.

U nás je otázka výuky programování v rámci povinné výuky stále nedořešená, nicméně nelze popřít, že pokud by se stalo programování její součástí, mohly by být digitální hry jednou ze zajímavých pomůcek, vysvětlujících studentům princip programování.

Použitá literatura

[1]SOLOWAY, Elliot. Should we teach students to program?. Communications of the ACM [online]. [cit. 2019–01–19]. Dostupné z: https://www.thefreelibrary.com/Should+we+teach+students+to+program%3F-a014468382

[2]SAELI, Mara, Jacob PERRENET, Wim M. G. JOCHEMS a Bert ZWANEVELD. Teaching Programming in Secondary School: A Pedagogical Content Knowledge Perspective [online]. [cit. 2019–01–19]. Dostupné z: https://www.researchgate.net/publication/228951140_Teaching_Programming_in_Secondary_School_A_Pedagogical_Content_Knowledge_Perspective

[3]Mulder, F. (2002). van BÈTA — naar DELTA-discipline (in English: Computer Science: from a BÈTA to a DELTA subject). Informatica, Tinfon, 11, 48.

[4]SQUIRE, Kurt a Henry JENKINS. Video games and learning: teaching and participatory culture in the digital age. New York: Teachers College, c2011. Technology. Education — connections : the TEC series. ISBN 978–0–8077–5198–5.

[5]Ibid.

[6]Assassin’s Creed Origins Discovery Mode: Complete Tour of the Pyramids. In: Youtube [online] 13. 2. 2018 [cit. 2019–01–19]. Dostupné z: https://www.youtube.com/watch?v=l_KOpq_BH1g. Kanál uživatele IGN.

[7]Assembly Programming as Game: “Human Resource Machine” [online]. [cit. 2019–01–19]. Dostupné z: https://jakob.engbloms.se/archives/2534

[8]Human Resource Machine EDU [online]. [cit. 2019–01–19]. Dostupné z: https://www.commonsense.org/education/app/human-resource-machine-edu

[9]LAPIERRE, James. Learning to Code with Human Resource Machine EDU [online]. 1. 11. 2017 [cit. 2019–01–19]. Dostupné z: http://www.filamentgames.com/single-post/learning-code-human-resource-machine-edu

[10]LYNGSTAD, Aleksander. Sandbox games. A way to promote deeper learning in cross-curricular teaching? Example scenarios for classroom implementation. Master thesis. UiT The Arctic University of Norway, 2017. Dostupné také z: https://munin.uit.no/handle/10037/11538?locale-attribute=en

[11]THOMPSON, Clive. The Minecraft Generation [online]. 2016 [cit. 2018–12–18]. Dostupné z: https://www.nytimes.com/2016/04/17/magazine/the-minecraft-generation.html?_r=0

[12]ULUÇAY, I. a kol. Minecraft: Education Edition ve školním prostředí. 2017.

[13]RIESNEROVÁ, Lucie. Komparativní analýza využití hry Minecraft ve výuce žáků staršího školního věku na vybraných školách v České republice [online]. Brno, 2018 [cit. 2018–12–18]. Dostupné z: <https://is.muni.cz/th/mznwu/>. Bakalářská práce. Masarykova univerzita, Filozofická fakulta. Vedoucí práce Martin Flašar.

[14]SMEATON, David. Minecraft As A Teaching Tool — A Statistical Study of Teachers’ Experience Using Minecraft In The Classroom. Australia, 2017. Dostupné také z: SMEATON, David. Minecraft As A Teaching Tool — A Statistical Study of Teachers’ Experience Using Minecraft In The Classroom [online]. [cit. 2019–01–13]. Dostupné také z: https://www.academia.edu/2624927/Minecraft_As_A_Teaching_Tool_-_A_Statistical_Study_of_Teachers_Experience_Using_Minecraft_In_The_Classroom. Masters Degree. Griffith University.

[15]You Can Teach Coding with Minecraft: Education Edition. In: Youtube [online] 15. 11. 2018 [cit. 2019–01–19]. Dostupné z: https://www.youtube.com/watch?v=Kzn-0q91E1A. Kanál uživatele Microsoft Education.

[16]BRIAN SHORT, Dan. Teaching Scientific Concepts using a Virtual World — Minecraft[online]. [cit. 2019–01–13]. Dostupné z: https://www.researchgate.net/publication/236587414_Teaching_Scientific_Concepts_using_a_Virtual_World_-_Minecraft

Ludografické zdroje

Microsoft (2016). Minecraft: Education Edition (PC).

Mojang (2009). Minecraft (PC, Xbox 360, Xbox ONE, PS4, Android, PS3, PS Vita, Windows Phone, iOS, MAC OSX, Linux).

Mojang (2009). MinecraftEdu (PC).

MicroProse Software (1991). Civilization (PC, Sega Saturn, N-Gage, Atari ST, SNES).

Tomorrow Corporation (2015). Human Resource Machine (PC, Nintendo Switch, Android, iOS, Wii U, Linux, MAC OS).

Ubisoft Montreal (2017). Assassin's Creed: Origins (PC, PS4, Xbox ONE).

Zachtronics (2011). Spacechem (PC, Linux, Android, iOS, Mac OS).

Zachtronics (2016). Shenzhen I/O (PC, Linux, Mac OS).

--

--

Ondřej Myšák
EDTECH KISK

Student oboru Teorie interaktivních médií, webař, žurnalista, fotograf. Člověk se zájmem v technologiích, digitálních hrách a všem možném okolo nich.