CodeVenture: První krok do světa programování (2022)

Didaktická počítačová hra na výuku základů programování využívající principy počítačového vidění a umělé inteligence. Projekt se umístil na 1. místě v celostátním kole Středoškolské odborné činnosti (2021/2022) v Kutné Hoře a jeho autoři postoupili na mezinárodní soutěž EU Competition for Young Scientists EUCYS v Bruselu.

autoři: Jan Kahoun a Michal Maděra
vedoucí práce: RNDr. Jan Koupil, Ph.D.,
oponent: Ing. Radek Kočí, Ph.D., Fakulta informačních technologií, Vysoké učení technické Brno - posudek oponenta
zdrojové kódy a text práce ve formátu PDF
https://www.codeventure.cz/

O autorech: Jan Kahoun a Michal Maděra

Michal s Pepou byli od začátku studií nerozlučnou dvojkou. Pepa s programováním u nás začínal, Michala jsme podchytili již dříve na soutěži v programování Microsoft KoduCup. Pepa v průběhu 2. a 3. ročníku absolvoval s červeným diplomem studijní program Microsoft Student Training Centre. Obrovská škola pro oba kluky byla práce o prázdninách mezi 3. a 4. ročníkem, kdy kompletně přeprogramovávali novou verzi informačního systému BurzaŠkol.Online a napojovali jej na Atlas školství. Na svůj věk byli až neuvěřitelně zodpovědní. Ve 4. ročníku se již naplno věnovali svému maturitnímu projektu. Oba patřili v maturitním ročníku k naší absolutní programátorské špičce.

S projektem CodeVenture zvítězili v krajském i celostátním kole Středoškolské odborné činnosti v oboru Informatika.

Oba odešli studovat do Prahy na ČVUT na Fakultu informatiky.

Codeventure - první krok do světa programování

Michal Maděra s Josefem Kahounem vytvořili hru pro výuku základů programování "Dobrodružství programování" (Code Advanture) zkráceně Codeventure. Princip hry spočívá v tom, že hráč musí přemístit figurku ve čtvercové síti z místa A do místa B. Figurku řídí pomocí kartiček s příkazy (jako při programování), které skládá do různých sekvencí. Zadání úloh se postupně ztěžuje a hráč se na nich učí stále složitější příkazy.

Při vývoji hry Michal s Pepou přemýšleli, jak udělat učení žáčkům co nejefektivnější a přitom co nejméně náročné na materiálové vybavení. Nakonec zvolili hodně netradiční přístup. Kartičky s příkazy vytiskli na tvrdý papír a děti je do "programu" skládají na lavici. Potom je vyfotí na svůj mobilní telefon, přes který se data odešlou na server. Na  serveru se kartičky vyhodnotí a na počítači učitele, který je připojen přes dataprojektor, se pak provede animace pohybu, kterou vidí celá třída. Celá třída tak může programovat a stačí k tomu prakticky jediný počítač.

Kluci vymysleli architekturu celé aplikace, naprogramovali mobilní i serverovou část, naučili se zpracovávat obraz z mobilního telefonu a pracovat s umělou inteligencí, kterou využili na detekci kartiček. Vytvořili také svůj vlastní pseudojazyk, který pak postavička provádí. Vytvořili také 3D grafiku celé aplikace.