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í.

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.