Blokové programování pro děti
26.01.2022
Blokové programování pro děti

​​Ruku na srdce, když dětem poprvé ukážete, jak vypadá váš kód, většinou je ta změť znaků​ moc nezaujme. Pokud jim vysvětlíte, že aby kód fungoval, je důležité dodržet syntax, možná je dokonce spíš odradíte. Programování je přitom ​váš svět a rádi byste ho nějak zprostředkovali svým ratolestem. Nevíte jak? Tento problém velice elegantně řeší blokové – nebo chcete-li vizuální - programování.

Připravené bloky, které reprezentují cykly, proměnné či další programovací prvky, se jednoduše skládají pomocí přetažení myší do výsledného programu, sestavují si ho v podstatě vizuálně, jako by dávaly dohromady kostky lega. Ty mají různé barvy, podle oblastí a struktury a aplikace dokonce i naznačí, pokud je nějaká kombinace kódu nevhodná, nebo někde něco chybí. Díky tomu děti pochopí logiku, s jakou je třeba program vystavět, co na čem závisí, sestavují příkazy za sebe - základní principy zvládnou i samy.

Blokové programování

Jak fungují logické operátory, proměnné a cykly už je náročnější na pochopení, učící křivku v tomto případě urychlí například výklad vyučujícího nebo rodiče, který umí programovat. Tahle hra s barevnými bloky kódu postupně děti vtahuje do kontextu a umožňuje jim pochopit ducha programování. Poté, co zvládnou strukturu, je už snazší začít se samotnou syntaxí.

Scratch, Lego, Micr​​​​obit

Asi nejznámější aplikací, která stojí na blokovém programování, je Scratch, ale možná jste viděli i programovací Lego roboty nebo slyšeli o projektu Microbit, se kterým přišla britská BBC.

Scratch je na světě již od roku 2003 a pochází z dílny MIT. Děti se v něm učí používat programování řízené událostmi s různými aktivními objekty označovanými v angličtině jako „sprites“. Jedná se o jednoduché dvojrozměrné obrázky, ty lze importovat či přímo nakreslit v jednoduchém editoru, který je součástí Scratche. K těmto „sprites“ malý programátor posléze vybírá a přiřazuje příkazové bloky (je jich deset barevně odlišených druhů – podle funkce), které do sebe zapadají jako stavebnice. Výsledkem je animace nebo třeba hra, která funguje na základě logiky kódu malého programátora.

Velkou výhodou je, že pro Scratch existuje spousta tutoriálů a návodů. Po zvládnutí programování ve Scratchi uživatelé často přecházejí k programování v Pythonu. Kdy je vhodné začít se Scratchem? V zásadě od okamžiku, kdy jsou děti schopné číst s pochopením, tedy tak od 3. třídy ZŠ. Existuje dokonce studie, která Scratch potvrzuje jako vhodný jazyk pro úvodní kurz do programování na základních a středních školách. A v Cleverlance jsme si programování pro děti ve Scratchi v minulosti také s úspěchem vyzkoušeli.

scratch.jpg

Lego si pro technicky zaměřené děti připravilo hned několik projektů, Lego Boost, Lego Mindstorm a Lego Education, v závislosti na věkové kategorii a situaci. Výhodou je, že si děti ze stavebnice postaví trojrozměrný předmět, třeba robota, autíčko nebo nějaký stroj, který pak prostřednictvím blokového programování rozpohybují dle svých představ.

lego.png

Microbit v našich končinách není tak rozšířený, ale ve Velké Británii ho znají skoro všechny děti. Jedná se o projekt BBC, která přišla s myšlenkou jednoduchého mikropočítače, v podstatě takové programovatelné destičky s několika diodami a s USB rozhraním. Od roku 2015 jich ve školách ve Spojeném království bylo rozdáno přes milion kusů a děti na něm píší své první jednoduché programy v nativním prostředí makecode, lze ale použít i Scratch, Javascript či Micropython.

 ​Microbit.png

HTML pro děti v Cleve​rlance

​Ačkoli dnes existují WISIWYG editory, takže člověk nemusí znát všechny značky, nebo chcete-li tagy HTML, hodí se jeho základům alespoň trochu rozumět. Připravili jsme tedy v Cleverlance kurz HTML pro děti. Díky zde získaným základům jsou schopny stránku lépe vystavět a samy si udělat drobné úpravy, které jim out of the box aplikace neumožňují. Snáze také při inspekci kódu zjistí, kde je chyba a proč něco nefunguje.

V Cleverlance učí děti HTML Vítek Červinka, který​ pro tento účel upravil jednoduchou webovou aplikaci od Ffau postavenou na základě knihovny od Googlu Blockly. Najdete ji na adrese https://html.cleverlance.com/ a můžete si sami vyzkoušet, jak takové blokové programování funguje.

​​html_deti.png

Vítka jsme se také zeptali na jeho postřehy z minulých kurzů (vedle HTML pro děti v Cleverlance také lektorsky vede kurz programování Microbitů a výuku programování na gymnáziu).

Která věc děti na kurzu programování nejvíc baví?

Když se dostanou do fáze, kdy mohou samy ovlivnit, co kód udělá, například změnit vzhled. Obecně je baví něco tvořit a když dostanou samostatný úkol, užijí si vymýšlení cesty, jak dosáhnout kýženého výsledku, například podle vizuálního zadání.

Jaká věc byla pro děti nejtěžší?

Postupně se logika kódu zesložiťuje a někdy se stane, že se v tom děti ztratí. A překvapivě je pro ně nejtěžší říct, že se ztratily – a to je například při on-line formě kurzu trošku náročnější na odhalení i pro mě jako lektora.

Co na kurzu nejvíc bavilo tebe?

Nejvíc se mi líbí, když mají takový ten „aha“ efekt, když najednou pochopí logiku, když jim to zafunguje. Určitě je to nějaká chemická reakce v mozku, když překonáš problém, vyřešíš zadání. Já to ostatně sám mám dodnes. A u těch dětí to jde poznat a pak je to vnitřním motorem toho programování, je to taková odměna za vynaložené úsilí a pokud je adekvátní, tak se tomu pak věnují dál.

Má blokové programování i nějaké nevýhody?

Možná je dobré zmínit, že složitější programy by se v tom dělaly už obtížně, protože by to bylo nepřehledné. Taky jsou jistým limitem nadefinované bloky, je tam jen omezený set příkazů. Ale to je vlastně také dobře, protože ve chvíli, kdy už to dětem nestačí, je čas začít programovat normálně.

Co chceš, aby si děti z tvých kurzů odnesly?

Aby se naučily přemýšlet,​ jak se od nápadu či zadání postupnými kroky dostanou k jeho realizaci. Samozřejmě budu rád, když je programování zaujme a budou v něm pokračovat. Hlavní ideou kurzu ovšem je, aby pochopily principy. Nemusí hned být programátoři, ale je dobré tomu rozumět, ono se jim to jednou bude hodit, i když v budoucnu budou potřebovat připravit zadání pro někoho, kdo pro ně program vytvoří.

Díky blokovému programování může začít programovat opravdu každý a vyzkoušet si, jaké to je. Pokud se mu to zalíbí, může snadno navázat, možností je dnes hodně a rozhodně je to jedna z nejlepších investic do budoucnosti (dětí i vlastní).