„A proč se o tom neučíme ve škole, když je to tak zajímavé?“

Byť se jako expert na Information Management primárně zabývá datovými sklady a Business Intelligence, v posledních letech mu učarovaly i programovací jazyky pro děti, jako třeba Scratch. Přečtěte si článek od Petra Hájka, ve kterém shrnul své dojmy a zkušenosti z kurzu programování pro děti, který vede ve spolupráci s firmou makeITtoday.

kid programming

Před mnoha lety jsem dostal nápad, že bych mohl začít vyučovat programování pro děti jako odpolední kroužek na základní škole. Nenašel jsem k tomu tehdy odvahu. Částečně také proto, že se mi programováním moc nepodařilo nadchnout moje dvě dcery, které byly tehdy na prvním stupni základní školy. Ale asi tak dva roky zpátky jsem na zahradní party Profinitu narazil na stánek firmy makeITtoday, která pořádá právě kurzy programování pro děti. Nejsem zrovna mistrem small‑talků na zahradních slavnostech, a tak jsem historku o svém ne‑lektorství začal neobratně vyprávět. Náhoda tomu chtěla, že zrovna nabírali nové posily.

A tak jsem letos v lednu dokončil už třetí pololetí výuky jednoduchého programovacího jazyka Scratch. Děti mají ve Scratchi předpřipravené základní stavební „konstrukty“, takže nemusí psát celý skript na klávesnici a většinu kódu mohou pohodlně „naklikat“. Scratch tak umožňuje proniknout do programování úplným začátečníkům – některé děti v mém novém kurzu, který začal teď v únoru, chodí teprve do druhé třídy. Zároveň se ale ve Scratchi dají dělat docela složité projekty, včetně třeba napojování programu na umělou inteligenci (ta běží v cloudu na serveru machinelearningforkids.co.uk) a pokročilejší děti si mohou vyzkoušet, jak za jednu či dvě lekce naučit neuronovou síť rozpoznávat obrázky nebo čísla (obrázky nasnímají přes kameru počítače, na kterém běží jejich kód naprogramovaný ve Scratchi, a ten jim odpoví, jestli vidí třeba jablko nebo hrušku).

Mojí počáteční motivací bylo ukázat dětem například to, že počítačové hry by nemusely jen pasivně konzumovat, ale mohou se naučit je i aktivně vytvářet. Teď jsem se ale spíš propracoval k ambici jim ukázat, že učení nerovná se škola, nuda, otrava, povinnost a disciplína. A za těch necelých dvacet lekcí v rámci pololetní výuky se toho dá i pohodově naučit docela dost. Podmínky jsou nyní náročnější, protože lekce probíhají online, ale to vlastně mladí účastníci kurzů zvládají s možná větším přehledem než dospělí lektoři. Od počátku tak mám pocit, že se ve skutečnosti vždycky naučím víc nového já sám. Takže takové „learning by teaching“. Hned na začátku jsem si třeba uvědomil, že cílem není, aby na konci hodiny měli všichni perfektně dokončený projekt, ale spíše to, aby každý z žáků udělal pokrok individuálně – oproti tomu, co už znal na začátku. A že nejlepší zpětná vazba od dětí je spontánní „aha!“.

Taky si troufám na odvážné zpochybnění Komenského zásady, že se má vyučovat od jednoduššího ke složitějšímu. Ukazuje se spíš, že lidský mozek vstřebává informace jinak než organizovaně od předkrmu po zákusek. Při výuce proto nečekáme, až všichni budou umět říci přesnou definici, co to je „proměnná“, ale rovnou si spustíme složitější program, ve kterém se s proměnnými hned pracuje. Děti to často vstřebají daleko rychleji. Představuji si, jak se asi učili kdysi nováčci (tedy zpravidla ještě děti) v řemeslných dílnách – odkoukávali, jak se co dělá, a brzy na to nějak přišli. A také viděli, co jim jde lépe, co je lepší dělat přesně podle mistra a kde si naopak mají najít spíš vlastní cestu a dělat, co je víc baví. Nikdo jim nevymýšlel zjednodušené umělé příklady, spíš jim na běžných velkých zakázkách dávali jednodušší úkoly. Určitě si nemyslím, že by začínali teoretickou přípravou o historii truhlářství nebo že by jim nepůjčili do ruky hoblík, dokud by neuměli pojmenovat všechny jeho části.

Další výhodou je širší věková struktura dětí v kurzu. Nejmladším je osm, nejstarším v mém kurzu je dvanáct let. Pro ty starší je to vlastně trochu nefér, protože ti mladší dělají relativní pokroky mnohem rychleji a učí se spoustu věcí i mimo programování vlastně dopředu (ani druháky neušetříme práce se zápornými čísly, úhlovými stupni nebo výrazy z anglického jazyka). Mimo výuku programování mám teď shodou okolností možnost naživo pozorovat, jak se učí děti v rámci „unschoolingu“, a potvrzuje se mi stejné zjištění: věkem předškolák se v řadě dovedností (třeba právě v matematice) hravě dotáhne na úroveň toho, co se pokládá za „kompetence“ odpovídající třetí třídě. V pohodě násobí čísla, jenom úplně neví, že tomu ostatní říkají zrovna násobení.

Abych to shrnul, v mojí třídě měl asi největší ohlas projekt na vykreslování donekonečna se rozvíjející zázračné Mandelbrotovy množiny. Je to efektní trik, jak nadchnout děti grafickým objektem, který i někteří racionální matematici nazývají „posvátnou geometrií“. Děti samozřejmě netuší nic moc o magii komplexních čísel a velký kus kódu (byť nijak obsáhlého) ode mne dostaly už hotový. Zato si ale kromě nekonečného zoomování podivných spirál vyzkoušely, že malou změnou doslova jednoho řádku programu vykreslí místo fraktální množiny obyčejný (i když také vlastně krásný) kruh a další změnou na stejném řádku kódu si zobrazí neuspořádané hemžení barevných teček, které jsme my starší znali z televize po ukončení vysílání. Odměnou pro mě je představa, že jsem jim možná nad rámec programování ukázal, jak malý rozdíl je mezi chaosem a nekonečným řádem. Mají na tohle čekat až na vysokou školu?

A tak spontánní otázku jednoho z žáků „a proč se o tomhle neučíme ve škole, když je to tak zajímavé?“ jsem poťouchle doporučil přesměrovat na jeho školního učitele matematiky…

 

Autor: Petr Hájek

Information Management Advisor