Programování skrze papírové kelímky

Naše další aktivita bez počítače uvedla děti do principu programování skrze stavění papírových kelímků. Podrobný popis v angličtině a můj přímý inspiracni zdroj naleznete zde: https://curriculum.code.org/csf-1718/courseb/6/

V hodině jsme použili mazací tabulky, mapu pro rozestavění kelímků a kelimky samotné, do každé dvojice jich stačilo 5.

Začali jsme úvodem do aktivity, kdy jsme se bavili o různých robotech, kteří něco stavějí. Dostali jsme se k robotickym ramenům a 3d tiskárnám a řekli jsme si, že práci takového podobného robota si dnes vyzkoušíme.

Poté jsem před děti postavil malou pyramida z kelímku a představil programovací jazyk, který budeme používat.

Náš programovací jazyk měl následující podobu:

Šipku nahoru (zvedne kelímek)

Šipku dolů (položí kelímek)

Šipku doprava (posune kelímek o jednu pozici doprava)

Šipku, která tvořila kruh, symbolizující otočení kelímku 

Celou aktivitu museli žáci rozkrokovat tak, aby ji robot mohl provést pouze na základě námi zvolených příkazů. 

Například jednoduchá pyramida ze tři kelímku vypadala v našem kódu takto:

Kelímky jsme na své pozice dávali na základě “mapy”, kterou měli všichni u sebe:

Asi už tušíte kam to celé směřuje. S mladšími dětmi jsme společně vyzkoušeli několik příkladů, ve kterých jsem figuroval jako robotické rameno. Starší děti začaly už sami vytvářet nejrůznější tvary, ke kterým poté napsaly program a spolužák ze dvojice kód četl a na jeho základě sestavoval daný kelimkový útvar.

Jak by bylo možné aktivitu rozvinout?

Na příkladu programovacího jazyka kelímků děti trénovaly převážně rozkouskování (segmentaci) problémů na menší úseky a práci v sekvencích. 

Mohli bychom však zařadit také další programátorské koncepty jako smyčky (loop) nebo primitivní funkce.

Při druhé hodině se třeťáky, jsme se už dostali k vlastní tvorbě a ke smyčkám (loops). Představili jsme si, k čemu smyčky slouží a děti je pak měli zařadit do svého stávajícího kódu.

Celá aktivita je komplexnější, než se na první pohled může zdát, myslím že by měla smysl pro všechny věkové skupiny studentů, kteří vstupují do světa programování.

4 weby umožňující programování hrou na ZŠ

V prosinci jsme se odhodlali se žáky třetí třídy překročit od programování fixou (barevné příkazy pro Ozoboty) k opravdovému blokovému programování.

Děti byly nadšené! V článku shrnu 4. různé weby, které provedou děti principy programování už na prvním stupni základní školy.

1. Ozoblockly

Naše děti plynule přešly z ozobota na programování v Ozoblockly. Konkrétně začínáme jednoduchými zadanými úkoly ve hře Shape tracer. 

Shape Tracer: https://games.ozoblockly.com/shapetracer-basic?lang=en 

Děti mají za úkol v simulaci donutit robota projet různě tvarované trasy. Sice není k dispozici česká lokalizace, ale s krátkou přípravou do začátku a společným překladem jsme orientaci v prostředí zvládli bez problému. (a jak už jsem říkal, roboti tak jako tak česky nemluví).

Pokud máte k dispozici ozobota i fyzicky, můžete do něj vytvořený kód přeblikat (flashing) a převést tak kód do reálného světa.

2. Run Marco

Run Marco je kompletně přeloženo do češtiny, proto můžete dětem web představit zcela bez přípravy: https://runmarco.allcancode.com/ 

Úkolem je dostat Marca nebo Sophii skrze stanovenou trasu, časem se začnou postupně objevovat překážky, ale vše na sebe plynule navazuje a programování tak působí intuitivně.

3. Robomise.cz 

Jak už napovídá název domény, s aplikací https://robomise.cz/ nepotřebujete ovládat žádný cizí jazyk. Jde o další simulátor, ve kterém se učíme programovat skrze blokové programování (nemusíme příkazy umět psát, pouze je umísťujeme do správného pořadí). Naším úkolem je vždy dostat raketu do koncového modrého pásma.

Výhoda robomise je, že nabízí čím dál tím složitější programátorské koncepty a vy si můžete sami vybírat, na které se zaměříte. 

4. Hour of code

Hour of Code z webu code.org https://code.org/hourofcode/overview je celosvětová iniciativa, která se snaží do základních škol dostat výuku programování. Zpracovává populární témata jako Minecraft nebo Ledové království a nabízí i metodiku pro učitele. Navíc má českou lokalizaci a jako jediná zmíněná aplikace mi šla ovládat skrze dotykový allinone bez nutnosti využívat myš. Hour of Code jsem zmínil už v předchozím článku:  https://ucimesroboty.cz/index.php/2019/12/09/jak-zacit-s-programovanim-ve-treti-tride-v-deseti-krocich/ 

Ze všech zmíněných webů je tento nejpropracovanější a díky populárním licencím, které využívá, je pro děti opravdu atraktivní.

Všechny odkazy, které jsem zmínil jsou do velké míry soběstačné – děti se s nimi zabaví samostatně. Pokud ale my jako učitelé dokážeme uvést žáky do problematiky programování i nějakou aktivitou bez počítače https://code.org/curriculum/unplugged, zdůrazníme jak je důležité pracovat v týmu a dáme dětem role, a pak navíc vše zakončíme smysluplnou reflexí, kde získané dovednosti ukotvíme – dokážeme získat ze zmíněných webů opravdu užitečné nástroje pro školu v 21. století.

Jak začít s programováním ve třetí třídě v deseti krocích!

Začít s programováním je o hodně snadnější než se může laikovi zdát. Nastupující generace dětí vyrůstá obklopená technologiemi, stále mě překvapuje, jak rychle se v blokovém kódování dokáží velmi mladí žáci orientovat.


1. Nejprve bych však i přes veškeré nadšení pro práci s technikou začal s tzv. unplugged (odpojenou) aktivitou – tedy s vysvětlením algoritmického myšlení a v našem případě hlavně principu sekvencí, bez zapojení počítače (do zdi).

2. Skvěle nám může posloužit např aktivita z webu https://code.org/curriculum/unplugged, konkrétně jsem se zaměřil na https://curriculum.code.org/csf-19/coursed/1/ (aktivitu už jsem použil s žáky čtvrtých tříd v rámci projektového dnu a ani pro třeťáky to nebyl problém).

3. Nejprve jsme se s dětmi (rozdělenými do malých skupinek) bavili o tom, co to vlastně je robot a kde všude se s nimi setkáváme. Dětem chvilku trvá, než za robota začnou označovat např. svoje kuchyňské spotřebiče, ale časem se do toho místa dostaneme a pak zkusíme ve skupině vymyslet společné znaky robotů. (např. dají se ovládat, můžeme je nastavit – naprogramovat, jsou na elektřinu…)

4. Poté se stane na malou chvilku sám učitel robotem. Na tabuli promítnu nebo nakreslím následující obrázek:

A děti mají za úkol mě, učitele, hloupého robota, naprogramovat tak, abych vytvořil na nákresu šachovnici. Dbám na to, aby se používaly pouze výrazy z našeho primitivního programovacího jazyka a v bodech tak postupně vytvoříme primitivní algoritmus.


5. Po nějaké době nás začne z vypisování dlouhých příkazů bolet ruka a shodneme se na zjednodušení programovacího jazyka, slova nahradíme šipkami. V tom přichází čas, aby si děti nově nabytou znalost upevnily. Dostávají následující pracovní list.

6. V pracovním listu si vyberou jeden ze vzorů, který se pokusí přepsat do kódu v krocích 1 až 15. Poté horní část papíru přeloží, vymění pracovní list se sousedem a ten se na základě kódu pokusí obrázek překreslit do čtvercového pole na konci stránky. Celý proces opakujeme dvakrát nebo i vícekrát s dalšími vlastními vzory.

7. Další hodinu jsme vše přivedli do praxe. Ve třídě jsme rozestavěli all in one počítače (počítačová učebna nebyla volná a také jsem zjistil, že dětem se obecně v dotykovém prostředí pohybuje lépe, než v klasickém rozložení s myší a klávesnicí, navíc při práci ve skupině je interakce více lidí současně v dotykovém prostředí  přirozenější) 

8. Můj plán byl vše vyzkoušet skrze hru  Run Marco: https://runmarco.allcancode.com/. během aktivity jsme však zjistili, že interface hry nereaguje na přetahování příkazů dotykem. V situaci, kdy máte ve třídě 20 třeťáků a všichni najednou si začnou ve skupinách a čím dál hlasitěji stěžovat, že “jim to nejde”, jsem se zapotil. 

9. Naštěstí jsem měl v záloze aktivity z code.org, resp. Hour of code. Děti si tak nadšeně otevřeli Minecraft: https://studio.code.org/s/mc/stage/1/puzzle/1 a začli zcela přirozeně programovat. Vše je v češtině, děti znají Minecraft, učí se programovat, všichni jsme spokojení. Děti pracují v týmech po 3, každý by měl dostat svoji roli a vystřídat se – někdo pozorně sleduje instrukce, další kontroluje správnost kódu, jiný kód zadává (např.) – na strategii se domlouvají všichni a v rolích se střídají. Učitel pak může jen spokojeně obcházet pracující skupiny a pomáhat při řešení stále náročnějších úkolů. 

10. A takhle jednoduché to je! Jsme sice na začátku ale z reakcí dětí vnímám, že  jdeme správným směrem.

Moje cesta k robotům

Kontakt: jan.juricek@zsstross.cz

První a nejdůležitější věta je: nejsem informatik, nestudoval jsem nic, co by mě připravilo na výuku robotiky, můj univerzitní obor je angličtina – pedagogika. Tím bych chtěl rozpustit první obavy o nedostatku technického zázemí a dovedností při začátcích s robotikou. 

Blog, který čtete, jsem vytvořil za účelem sdílení zkušeností člověka, který nikdy s roboty a programováním nepracoval. Aprobovaných učitelů informatiky je velký nedostatek, proto se do jejich oboru musíme pustit my, nováčci, objevitelé a experimentátoři.

Věděl jsem, že na naší škole potřebujeme posunout výuku informatiky směrem ke kódování a programování. A rozhodl jsem se, že do toho půjdu, nakoupím pomůcky (roboty) a celý rok strávím jejich kódováním. Čekají mě dvě rozdílné skupiny dětí. Třetáčci a osmáci. Jak vyplývá už z použití zdrobněliny, většinu materiálů nebudu moci použít v obou skupinách. Ale vybral jsem pro ně adekvátní roboty, už se na ně těší!

Úplně naslepo jsem však nevybíral. O nákupu techniky jsem se radil s expertkou na robotiku Štěpánku Baierlovou. Doporučila mi dva typy robotů: Ozobot pro třeťáčky (a první stupeň obecně) a BBC micro:bit pro starší děti.

Velmi stručně: Oba roboti jsou určeni k rozvoji algoritmického myšlení a základnímu pochopení principů programování. Ozobot i Microbit se dá programovat v blocích (simplistické programování pro začátečníky).

Ozobot sleduje čáru a barevné kódy , které napíšete fixami. Dá se využít od nejmenších dětí a nepotřebujete k němu ze začátku ani počítač.

 BBC micro:bit je všestranný počítač, s mnoha senzory a různým příslušenstvím, speciálně vyvinutý britskou společností BBC za účelem popularizace programování ve školách. Využití pro něj najde jak úplný začátečník, tak expert (můžete si s ním postavit vlastní chytrou domácnost). Obě zařízení podporují češtinu a jsou pro ně již předpřipravené metodické materiály – knihovna materiálů se dále rozrůstá a aktualizuje. 

Oficiální stránky:

BBC micro:bit: https://microbit.org/

Ozobot: https://ozobot.com/ 

Od každého jsem objednal 15 kusů (předem počítám s prací ve dvojicích). BBC microbit jsem vzal přes HW Kitchen a Ozoboty na Easystore.cz oba dodavatele zmiňuji, protože mi byli ochotni dát na nákup pro školu slevu. 

(Microbit jsou trochu menší, než jsem čekal, Ozobot naproti tomu splňuje očekávání. Obě zařízení jsou však dost kompaktní na to, že pro ně nemusíte jezdit autem, až vám je Česká pošta nedoručí do ruky.

Ozobot
BBC micro:bit

Jako spořádaný nováček, jsem si koupil i příslušnou literaturu: Official BBC micro:bit User Guide (pouze v AJ)

Jako nováček publikaci doporučuji, nenásilnou cestou nás uvede do světa základního programování a vysvětlí všechny potřebné senzory, které Micro:bit obsahuje.

K micro:bitu (dále jen microbit, psát dvojtečku uprostřed slova je úmorné) je navíc potřeba koupit USB to micro USB kabel, který slouží k nabíjení a přenosu dat z počítače. Osobně bych také dokoupil i držák na baterii, microbit poté nemusí být stále připojený k počítači, což nám otevírá nové možnosti využití.

To by za mě o nákupu bylo všechno, jednotlivé roboty si rozebereme v dalších příspěvcích.