Robotické programovatelné hračky tvoří samostatnou kategorii směřující k rozvoji informatického, logického a algoritmického myšlení a umožňují motivovat i povzbuzovat žáky v oblasti algoritmizace, budoucí práce s roboty, budovat základní prekoncepty pro využívání IoT a umožňují tím pozvolný přechod k vyšším technickým a technologickým konceptům, či rozvoji abstraktního myšlení. Z hlediska didaktických a pedagogických konceptům ukazují možnosti v STEM, DIY, formativním hodnocení a dalších v současnosti přijímaných a prosazovaných směrům a principům a to nejen ve škole.
V těchto ohledech hrají významnou roli mezi přechodem od dětských her k reálnému využívání technologií v běžném (i budoucím) životě. Zároveň se prostřednictvím nich může dítě a žák poprvé setkat s programovacím prostředím, ať už vizuálním, blokovým, či následně textovým.
Dětské, neboli propedeutické programovací jazyky lze dělit různými způsoby. V této publikaci se přistupuje k dělení na:
vizuální kódy
blokové programovací jazyky
znakové/grafické
textové
textové programovací jazyky
Vizuální kódy jsou využívané především pro děti a žáky mladšího školního věku. Jedná se o barevný nebo grafický kód, který si robotická programovatelná hračka načte a vykoná určenou činnost nebo pohyb. Příkladem může být ozokód u Ozobota, složení barevných čtverců u vláčku Intelino, načtení kódu teček u QOBO (pokud se díváme na přenos informace do hračky) nebo čárový kód u Edisona.
obrázek 23: příklad ozokódu
Blokové programovací jazyky již vyžadují minimálně lineární uspořádání jednotlivých kroků za sebou a liší se svou obtížností, příslušnými algoritmickými konstrukty a využitím nejen vzhledem k robotických programovatelným hračkám, či edukačním stavebnicím. Následně tvoří přechod k textovým programovacím jazykům a popř. reálným programovacím prostředím. Žáci jejich prostřednictvím seznamují s algoritmickými principy a konstrukty, mezi které se řadí například podminky, cykly, funkce, či metody.
S těmito typy dětských programovacích jazyků se mohou seznamovat již v předškolním věku bez nutnosti znalosti písmen a čtení. K tomuto účelu slouží znakové blokové programovací jazyky. Jednotlivé bloky jsou popsány symboly, znaky nebo obrázky. Setkat se s nimi můžeme například u Matatalab, Kubo nebo některých aktivit v prostředí hourofcode.com. Některé z těchto prostředí mají vertikální jiné horizontální uspořádání jednotlivých kroků jdoucích po sobě.
obrázek 24: příklad sestavených bloků u Matatalab (horizontální uspořádání)
Mezi blokovými textově orientovanými dětskými programovacími jazyky je jako nejznámější jeví Scratch nebo MakeCode, která je možná využít i bez přítomnosti robotické programovatelné hračky. Obdobně však nacházíme tato bloková prostředí jako nástroje pro naprogramování robotické programovatelné hračky, jako je např. Ozobot, Edison, iRobot a většina dalších, které cílí na vyšší věkovou skupinu, než jsou žáci mladšího školního věku. Tato prostředí mají většinou vertikální uspořádání a více se přibližují k zápisu algoritmu.
obrázek 25: příklad sestavených bloků u iRobot Root (vertikální uspořádání)
Nejvyšší stupeň u dětských programovacích jazyků tvoří textová prostředí. Mezi nejvyužívanější patří Python. Tato prostředí se vyznačují největší blízkostí k běžným textovým programovacím jazykům.
obrázek 26: příklad EdPy u Edison
Některé robotické programovací jazyky umožňují přistupovat ke všem typům dětských programovacích jazyků, jedná se například o Ozobot, Edison, iRobot. Tím se stávají univerzální minimálně pro celé základní vzdělávání.
Vzhledem k zaměření publikace jsou představená vybraná obecná bloková textová programovací prostředí bez příslušnosti k jednotlivým robotických programovacím jazykům. Tato analýza by měla sloužit k doplnění a upřesnění základních možností, ze kterých mohou vycházet nebo se k nim blížit programovací prostředí u robotických programovatelných hraček. Popis prostředí je závislý na analyzovaných kritériích:
prostředí aplikace (základní vlastnosti, využívané algoritmické konstrukty)
operační systém (typ využitelných zařízení)
doplňky (další možnosti připojení k robotickým hračkám nebo robotickým stavebnicím)
Převybráno bylo šest obecnějších propedeutických programovacích jazyků (čtyři s českým rozhraním a dva s anglickým):
Česká:
MakeCode (Microsoft MakeCode)
Anglická:
pencilcode (Pencil Code)
turtle academy (Turtle Academy)
Všechna vybraná prostředí:
jsou vhodná/využitelná pro druhý stupeň základní školy, resp. pro nižší sekundární vzdělávání
blokově orientovaná
jsou v českém nebo anglickém jazyce
mají vypracované příklady využití ve výuce, popř. návody a metodiky pro učitele nebo rodiče