Přejít k navigační liště

Zdroják » Různé » Jak jsem začal s kroužkem programování

Jak jsem začal s kroužkem programování

Články Různé

Podělím se s vámi o svoje zkušenosti, zdary i nezdary se zakládáním a provozováním kroužku programování pro děti ze základní školy.

Text vyšel původně na autorově webu.

Když jsem byl malý, tak skoro každý kluk u nás na vsi měl nějakého pionýra. Věčně se v něm vrtali, štelovali předstih, ladili karburátor, a tak se motorku naučili opravovat. Já měl novější, značně spolehlivější, motocykl německé výroby Simson S51, do kterého se jen lil benzín (s olejem), proto jsem se nikdy pořádně motorky spravovat nenaučil.

Zato jsem měl osmibitový počítač Commodore C64. Na něm vás po spuštění přivítala příkazová řádka, čili k programování to byl jen krůček. Dnešní počítače jsou uživatelsky mnohem přívětivější, z toho důvodu je krok k programování o něco delší. Možná dnešním dětem stačí tu možnost prostě ukázat.

Leitmotivem loňské nekonference jOpenSpace 2017 bylo vzdělávání dětí. Řešili jsme to takřka o každé přestávce. Úplně jsem cítil to nadšení, ale bál jsem se, aby nevyprchalo. To se naštěstí nestalo, protože jsem se hned v prosinci zúčastnil akce Hodina kódu, která se setkala s velkým ohlasem, tak jsem se rozhodl pustit do kroužku programování. Trochu to připomíná akci „Z“ , ale jak bylo řečeno na konferenci učIT jinak (a víte to nejspíš sami), výuka informatiky na českých základních školách není v nejlepší kondici (byť se to například projekt iMyšlení snaží změnit).

Krok první

Upsal jsem se ke kroužku, ale jak začít? Dojel jsem na návštěvu za manželi Ivou a Martinem Javorkovými, kteří vedou kroužek v Lázních Toušeň, abych viděl, jak taková hodina vypadá. „Jejich“ děti za hodinu zvládnou ve Scratchi naprogramovat hru, třeba ovládat vlka, který chytá jablka padající ze stromu. Chycená jablka se připisují jako body. Spadne-li jablko na zem, hra končí. Tohle je pro mě zatím nedosažitelný cíl.

Peníze

V neposlední řadě bylo potřeba vyřešit i peníze. U nás na škole je paušální poplatek za kroužek a pololetí 400 korun. Byl jsem varován, aby se z toho nestalo levné hlídání a aby tam tudíž nechodily děti, které to nezajímá. Ale není to kroužek v Praze a já chtěl bariéru udržet co nejníž. Hrozba se nenaplnila, a to mimo jiné proto, že kroužek se koná v době školní družiny.

Musíte sehnat nějaký prostor, kde se bude učit. Nejlépe vybavenou školní učebnu. Slyšel jsem o školách, které si za to účtují nájem. To mi přijde jako smutný příběh.

Pokud vybavenou učebnu nemáte, nezbývá, než si ji zařídit. Původně jsem pokukoval po chromebooku, ale vzhledem k ceně jsem skončil u staršího hardware. Za zhruba 2000 korun seženete slušný stolní počítač, případně o něco horší notebook, který ovšem stále vyhovuje potřebám kroužku (vůbec nevadí, že má vyšeptanou baterii nebo že ji nemá vůbec).

Na naší škole lektorům kroužků náleží i nějaká drobná mzda. Jako student bych ji asi ocenil, ale teď jsem ji s díky odmítl, aby zbylo víc peněz na hardware. Připomnělo mi to doporučení z knihy Teaching Tech Together – Plaťte odpovídající mzdu nebo nic. Odměnou jim pak bude dobrý pocit (o samotné knize viz níže).

Děti

Obdivuji učitelky, které mají ve třídě 32 dětí. Vůbec nechápu, jak to zvládají. A to ani v případě, kdy se třeba půlí na výuku cizích jazyků. Díky úspěchu Hodiny kódu se přihlásilo dost dětí. Vyšlo to na dvě skupiny, každá po deseti dětech. Martin Javorek mě varoval, že je to příliš, a měl samozřejmě pravdu, ale já jsem je nechtěl zklamat. Nakonec jsme to pololetí nějak zvládli, ale musel jsem vybírat snazší úlohy a neudělali jsme takový pokrok, jaký bych si představoval.

Tohle pololetí jsem si stanovil strop na šest dětí a je to mnohem lepší. Hlavní problém v počtu je ten, že děti potřebují často s něčím poradit (byť s drobností), jenže je nestíháte obíhat. Když jste u čtvrtého, tak se znovu dožaduje pozornosti už ten první. Nutno podotknout, že na kroužek mi chodí děti z prvního stupně. Na druhém stupni to může být trochu jiné.

Programování je mnohem víc o čtení než o psaní. Z toho důvodu není dobrý nápad si na kroužek brát prvňáky a to ani v druhém pololetí, kdy sice už zdánlivě umí číst, ale potřebujete, aby se uměli orientovat v textu a něco v něm najít. Mají s tím kolikrát problém i páťáci. Na druhou stranu alespoň vidí, jak důležité čtení je. Abych vás neodradil, můžete začít i s některými předškoláky, sám jsem zkoušel doma, ale je rozdíl, jestli se jedná o jedno dítě, kterému se naplno věnujete, nebo zda jich máte v hodině víc.

Programování je bohužel takový macho obor. Myslím, že by nám větší přítomnost žen prospěla. Třeba v Polsku už na tom jsou výrazně lépe. Proto mi dělá radost, že do kroužku chodí zhruba třetina holek. Vidím v tom určitou naději do budoucna.

Náš kroužek se sice koná v prostorách školy, ale jako mimoškolní aktivita, takže se na mě (prý) nevztahují takové ty legislativní věci jako pedagogické minimum.

Mohlo by vás zajímat, jak je to s vykáním či tykáním. Tak to jsem vůbec neřešil. Někdo mi říká pane učiteli, někdo pane Račanský a někdo, protože se známe třeba ze skauta, prostě jen Luboši.

Náplň

Z velké části jsem si vystačil s projektem code.org (americká neziskovka, která stojí mimo jiné za Hodinou kódu), kde najdete nespočet cvičení i celé osnovy. Osobně jsem si spíš vyzobával konkrétní úlohy. V tomhle pololetí s tím zkouším pracovat systematičtěji. Založil jsem tam dětem účet, takže můžu sledovat jejich pokrok (pomáhá to, když nějaké dítě někdy chybělo, tak vím, co ještě nemá hotové).

Jednou bych se chtěl dostat ke Scratchi, což zatím vázlo na počtu a věku dětí.

Loni mě trochu trápila jejich motivace udělat úlohu (na jakýkoliv počet kroků) a hned jít dál, nesnažit se ji splnit na nejmenší možný počet kroků. Ale pak jsem na to rezignoval a letos k tomu došli sami. Úlohu udělají a vylepší ji buď hned, nebo se k ní vrací, když dodělají kolo.

Byť jsou děti hrozně natěšené na počítač, snažím se na prvních zhruba deset minut věnovat aktivitám bez počítače. Zaměřuji se na rozpoznávání vzorců a opakování. Případně jsou děti v roli robota a vykonávají program, učí se tak krokovat. Inspiraci můžete hledat na stránkách bobříka informatiky či CS Unplugged.

To by mi jako náplň kroužku stačilo, ale chtěl jsem ještě něco hmatatelného, čím bych mohl hodiny občas zpestřit, aby byl kroužek ještě atraktivnější. Na trhu existuje nepřeberné množství různých robotů, ale z mnoha důvodů jsem nakonec tenkrát pro Hodinu kódu pořídil robota Meet Edison. Kromě toho, že je kompatibilní s legem, jej lze pořídit za rozumnou cenu 800 až 1000 korun. Programuje se ve Scratch Junior, nově i plnohodnotný Scratch (zatím bohužel pouze anglicky) a pro starší dokonce Python. Problém není v chybějících nástrojích, ale v didaktice. Meet Edison poskytuje nějaké materiály, z kterých jsem byl původně nadšený, ale pak jsem trochu vystřízlivěl. Stejně nezbývá, než si úlohy připravit sám, jako třeba železniční přejezd.

Čas

Chtěli byste začít s kroužkem, ale nevíte, jestli to zvládnete časově? Je nutné věnovat nějakou dobu přípravě, řekněme 1 hodinu, ale napsal bych to s hvězdičkou. Čekám totiž, že vás to chytne a budete s tím trávit času mnohem víc. Podařilo se mi to skloubit i s prací. V pátek vstanu v půl šesté, od šesti pracuji. Pak si dám delší pauzu na oběd, kdy odučím dvě hodiny po 60 minutách, a zbytek dodělám večer.

Poznámky z deníčku

Po návratu z kroužku si snažím zapsat alespoň pár slov do deníčku, abych se mohl poučit z toho, co fungovalo a co ne. Ostatně poznámky stojí za vznikem tohoto příspěvku.

Už na školeních pro dospělé jsem se naučil chodit včas a v klidu si vše připravit. Zároveň máte možnost otevřít okna a vyvětrat. Nutné opakovat i o přestávkách. I tak jsou děti unavené (pátek odpoledne). Ovšem na jaře jako když do nich střelí, jsou plné energie. Přebytek energie i únava mají zásadní vliv na kázeň. Výhoda kroužku je, že to není povinné. Jednou a to zcela výjimečně jsem sáhl po krajním řešení a řekl dvěma dětem, ať příště nechodí a popřemýšlí, zda chtějí v kroužku pokračovat (chtěli). Znovu se vracím k počtu dětí v hodině, méně je lepší (deset je moc).

A nezapomínejte na pitný režim, vyučování je náročné!

Děti umí ovládat tablet, ale s myší jsou o něco nemotornější, to musí trénovat. Největší výzva nebylo naprogramovat cyklus, ale přepsat do prohlížeče adresu code.org/join.

Jako úvod do Scratche jsem zkoušel Scratch karty od Javorků, ale bylo mi líto je tisknout. Nicméně došel jsem ke zjištění, že návody vytištěné být musí. Zdálo se mi, že nedokáží rozlišit, co je programovací prostředí a co je návod. Motali se v tom. A opět se vracím k tomu čtení, pokud máte starší karty a mezitím se u bloku změní popis, tak to děti nenajdou (hledají přesnou shodu).

Snažím se pamatovat na to, že bych dětem neměl sahat po myši a klávesnici. Platí to i pro ostatní děti. Můžou si radit navzájem (pokud dotyčný o radu stojí), ale nesmí úlohu vyřešit místo něj.

Knihy a jiné zdroje

Hledal jsem inspiraci v knihách. Jako první jsem sáhl po Lifelong Kindergarten, kterou napsal Mitchel Resnick, spoluautor Scratche. Neříkám, že je špatná, ale čekal jsem asi něco praktičtějšího. Odnesl jsem si dva poznatky. Za prvé, že by učitel měl být spíš nenápadný průvodce než mudrc na jevišti.

There’s an old saying that a teacher should be a “guide on the side,” not a “sage on the stage.

A za druhé koncept 4P: Projects, Passion, Peers, and Play; tedy projekty, vášeň, parťáci a hra.

Mnohem nadšenější jsem byl z knihy Teaching Tech Together (Greg Wilson), k dispozici zdarma. Je hodně ozdrojovaná, takže mi nebezpečně nabobtnal seznam knih, které si hodlám přečíst. Autor říkal, že potřebujete odbornou znalost (tu si troufnu tvrdit, že mám). Dále vědět, jak obor učit (mám trochu představu, i z toho, jak učili nás, ale neustále hledám inspraci, jak učit děti). A pak obecně vědět, jak učit (v tom mám největší mezery). Aby se děti nemusely učit, jak programovat, tak se lektoři kroužků učí, jak učit, a právě pro ty je určena tato kniha.

Doporučuji se připojit do facebookové skupiny Učíme Informatiku a sledovat twitter kanál @programohrajeme.

Motivace

Cílem kroužku není primárně vychovat nové programátory. Pokud se tím jednou bude někdo živit, prima. Pokud ne, rozhodně nebudu zklamaný. Chci jim ukázat smysluplnou práci s počítačem a procvičit v logickém myšlení.

Nelson Mandela řekl:

Každý člověk má v životě dvojí závazek – vůči rodině, rodičům, ženě a dětem, ale také vůči národu, komunitě, zemi.

Každý má podvědomou touhu dělat něco, co ho přesahuje. Někdo přispívá do opensource, jiný je zase členem sboru dobrovolných hasičů, angažuje se v církvi nebo třeba trénuje atletický oddíl. Loni proběhly dvoje volby, které z pohledu liberálního voliče nedopadly vůbec dobře. Na sociálních sítích jsem zaznamenal výkřiky: „Tady bydlet nebudu, stěhuju se do zahraničí.“ Vláďa Misterka k tomu tenkrát napsal:

Češi jsou plačky. A nejvíc fňukají ti, co se sami mají nejlíp. Dá se s tím něco udělat jen za cenu několikaleté práce.

A já dodávám: nejlépe s mládeží.

Je to jako v té bajce o kolibříkovi:

Když v pralese vypukl požár, zvířata utíkala a bezmocně se dívala na všechnu tu zkázu. Jen maličký kolibřík v zobáčku nosil vodu sem a tam. Když se ho zvířata ptala, proč to dělá – vždyť je maličký a nemá to smysl –, odpověděl: „Dělám, co mohu.“

Připojíte se i vy?

A jako dodatek moje přednáška z jOpenSpace 2018:

Komentáře

Subscribe
Upozornit na
guest
11 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Martin Hassman

Přišel k nám do redakce názor, že možná není dobře dobře učit děti v tak brzkém věku programovat. Ale už neobsahoval důvody, proč by to nemělo být dobře. Mě žádný důvod nenapadl, ale myslím, že je tu prostor pro diskusi. Odkazy na seriozní studie jsou vítány.

Vít Kotačka

Já takový názor zastávám taky. 😄 Už nějaký čas přemýšlím, že bych k tomu sepsal článek. Pracovní název: Low-tech parenting. Tak jestli se k tomu dostanu, tak tam „nějaké“ důvody budou.

Ondřej

Myslím, že cílem je také děti vychovat k nějaké znalosti o počítacích, informatika ve škole je katastrofická. Je mi 14 let a programuji nějaké webové aplikace, ale všechno jsem se musel naučit sám – škola vás nenaučí ani kousek.
Jinak doporučuji pro děti taky snap.berkeley.edu

Mlocik97

bude to aj horšie,.. ja som na strednej si pamätám za 4 roky sa naučil naspamäť 7 slov… vrstvy ISO/OSI modelu… a nie že bych se neučil, byl som čistý jednotkár, ale tá škola no… na VŠ ťa naučia aspoň niečo, ale stredné školy sú myslím na najhoršej úrovni vrámci CZ/SK… to čo som sa naučil na SŠ za 4 roky, by som sa inde naučil za 5 minút. Inak čo sa týka programovania tak som sa sám za pár mesiacov naučil snaď tisíc násobne viac než za celú základku a strednú školu, za 13 rokov dokopy…

Oldisy3

já se učil programovat od 11, čili asi tak od roku 1992, představ si že tehdy nebyl internet, respektive nebyl dostupny, internet pro me zacalbyt dostupny az nekdy od roku 1996, v sobotu a nedeli tak na hodinu od sedmi vecer. ve skole sme nemeli jedinej pocitac ;) hadej jak sem se naucil programovat, msdn dokumentace z cédéček, a helpy, reference k turbopascalu a k basicu. a šlo to, na školu bych si nestěžoval. Co se naučit chceš to se naučíš, škola neškola.

Mlocik97

Čítal si co som psal? Najmä poslednú vetu…

Oldisy3

přijde ti že reaguju na tebe?

David

Tohle se podle mě nedá porovnávat. Ano dříve se lidé učili programovat i bez internetu a všemožných manuálů, jenže programování a technologie ohledně počítačů obecně byli na takové úrovni, že to tak prostě šlo. Dneska když chce člověk programovat například v javascriptu, tak se musí naučit tunu věcí okolo (node.js, npm, transpilery, atd.), aby to začalo být efektivní, bezpečné a každý si s ním hned nevytřel zadek.
Zjednodušeně bych to přirovnal ke tvorbě stránek. Dvacet roků dozadu s tím tady skoro nikdo neuměl a lidem stačilo umět v podstatě HTML a bylo. Dnes kromě toho, že HTML za tu dobu značně nabobtnalo (canvas, grid, flexbox atd), je třeba ještě ovládat CSS, různé prefixy, „hacky“ na ostatní prohlížeče, sémantické značkování, responsivní/adaptivní design atd. Troufl bych si tvrdit, že udělat dneska stránku pouze z knih, bez návodů a inspirací ostatních zdrojáků na internetu, tak aby za něco stálo a bylo konkurence schopné, je nemožné.
Co šlo dělat před dvaceti lety prostě nejde dělat i dnes. Ať už jde o tvorbu stránek, nebo právě programování, neporovnával bych to. Můj názor.

Vláďa Macek

Luboši, díky za inspirativní článek!

Vrozkrokkop Kopalsson

Já bych spíš učil děti využívat počítač. Je spousta aplikací i volně ke stažení co mohou významně pomoci při výuce. Třeba programy kde se napíše matematická funkce a program nakreslí její průběh. Nebo použít zvukovku jako generátor signálu případně jako osciloskop, simulátor elektrických obvodů atakdále.

https://www.zive.cz/poradna/program-pro-rysovani/sc-20-cq-652264/default.aspx?consultanswers=1

Michal Ludvig

Tak ať vám to nadšení vydrží. Já jsem coding club u nás ve škole učil poslední dva roky a taky nechápu jak to učitelky vydrží den co den se spoustou dětí, mě by z toho jeblo. Takže jsem to tento rok už přenechal někomu dalšímu, neopotřebovanému.

Měl jsem tam 9 – 10 leté děti a ty jsou podle mě pořád ještě moc malé na nějaké hlubší chápání toho co to znamená programovat. Dokázaly sice podle návodu naklikat ve scratchi nějakou hru, ti schopnější jí i vylepšit, ale často jsem zjistil že ani moc netuší co vlastně dělají. Prostě jdou podle návodu.

Ale dost možná jsem jen špatný učitel :)

Každopádně vám držím palce!

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.