Tento týden byl u nás ve firmě OpenSchool Day a jedna z přítomných učitelek se mě ptala, pro koho a kdy je vhodný Micro:bit a jeho MakeCode editor. Pro neznalé - jedná se o blokový editor, kdy k sobě lepíte jednotlivé puzzlíky. Nejde tam prakticky udělat syntax error, protože špatné kusy kódu do sebe prostě nezapadnou kvůli rozdílným tvarům.
Vysvětlení je jednoduché. Žáci se dnes ve školách obvykle učí C, Python nebo Javu. Naučí se syntaxi: if-podmínky, for-cykly, definice proměnných a hlavní blok. Pak si napíší “Hello world” a když se zadaří, tak si napíší program na generování fibonacciho posloupnosti nebo faktoriál. Jenže to není moc motivující - studenti moc nevidí přesah do praxe: “K čemu je to v praxi?” “Jak to mohu použít?” Zůstane jen pár motivovaných jedinců. Ostatní pak utečou k oborům, kde je výsledek viditelný hned.
Výhoda blokových editorů je, že od první hodiny můžete dělat netriviální programy, které jsou velmi jednoduché na implementaci a zároveň velmi efektní. Např. elektronickou kostku, skokoměr, kompas nebo vysílačku. Žáci velmi rychle přijdou se zajímavými modifikacemi zadání, vytvářejí si vlastní variace a sami si vymýšlí, co praktického by mohli s Micro:bite udělat.
Ale dříve nebo později narazí na různá omezení. Např. u zadání: zobrazte uprostřed displeje tečku. Když nakloníte Micro:bit doleva nebo doprava, tak se má tečka přesouvat doleva nebo doprava. To lze velmi jednoduše implementovat pomocí bloku “on-tilt”. Ale když chcete udělat to samé při náklonu dopředu a dozadu, tak už žádný takový blok nemáte k dispozici. Musíte si sami číst hodnotu náklonu a správně zformulovat podmínku a dát ji do patřičného cyklu. Je to první komplikace, ale stále ještě to v tomto blockly editoru můžete udělat. Někdy tvoříme složitou podmínku do if-podmínky. A ukážeme si, že než skládat hodně bloků do sebe je jednodušší se přepnout do JavaScriptu, napsat tam tu podmínku a pak se můžete přepnout zpět. No a pak se jednoho dne stane, že přepnutí do blokového režimu není možné - narazíme na možnosti blockly editoru. A teprve teď nastáva okamžik si začít povídat o psaných programech a syntaxi. Žáci už ví, proč se to učí a co jim to přinese.
A tak postupujeme podle základních pedagogických příruček - od jednoduchého ke složitějšímu, se zapojením a porozuměním žákům.