
Celý minulý rok jsem pracoval jako učitel v jednom z provinčních vzdělávacích center (dále - VZ), které se specializuje na výuku programování. Nehodlám jmenovat toto vzdělávací centrum, a snažím se vyhnout názvům firem, jménům autorů atd.
Takže jsem pracoval jako učitel Pythonu a Javy. Toto VZ nakupovalo metodické materiály pro Javu, a Python spustili, když jsem přišel já a nabídl jim to.
Metodiku pro studenty (v podstatě učebnici nebo samouka) jsem psal pro Python, ale značný vliv mělo vyučování Javy a metodické materiály, které se tam používaly.
Říci, že byly hrozné, je slabý výraz. Modus učebnice pro Javu, kterou dodává jedna velmi známá firma v Rusku, nespočíval v tom, aby naučil člověka základům tohoto jazyka jako celku a paradigmatům OOP, ale v tom, aby rodiče přicházející na otevřené hodiny viděli, jak jejich syn nebo dcera opsali ze školní příručky hada nebo šachy. Proč říkám, že opsali? Velmi jednoduše, protože učebnice obsahovala celé stránky (A4) kódu, některé aspekty nebyly vysvětleny. Výsledkem je, že učitel buď musí kontrolovat, na jakém úseku kódu se právě nachází každý student a vysvětlovat každý řádek, nebo se vše mění na opisování.
Řeknete: „No a co, ať se učitel lépe snaží, a šachy a had jsou vlastně super!“
No, všechno by bylo skvělé, pokud by počet lidí ve skupině nebyl kolem 15, což už je značné, když se chystáte sledovat všechny a vysvětlovat: „A přesto, co vlastně píšeme?“
Kromě počtu lidí ve skupině je zde ještě jeden problém spojený s touto metodikou. Kód je napsán... jak to říct, prostě hrozně. Sada antipatternů, archaických postupů, protože učebnice nebyla dlouho aktualizována, a samozřejmě náš oblíbený stylový manuál. Takže i když budete mít všechny své svěřence pod kontrolou a budete schopni rychle a jasně vysvětlit, co znamená opsaný kód, pak je kód natolik hrozný, že je naučí, mírně řečeno, zcela jinému.
A na závěr něco, co doslova ničí tuto učebnici — hned na začátku chybí jakékoli smysluplné úvodní vysvětlení, co jsou datové typy, že existují objektové a primitvní, jaký kriterium určuje vlastnost, která vytváří tuto dichotomii atd. V první kapitole je vám a vašim studentům nabídnuto vytvořit (napsat) program, který udělá okno a napíše "Ahoj!", avšak není vysvětleno, co vlastně tento kód znamená, pouze odkazy na další lekce, například se zmiňuje "main" — bod vstupu, ale není vysloveno samotné pojetí "bodu vstupu".
Pokud shrnu, tato makulatura byla memem dokonce i mezi pedagogy a vedením. Nic děti dokonale nenaučila, jednou jsem narazil na skupinu, která se už rok učila podle těchto materiálů, a nakonec nebyli schopni ani napsat cyklus, což mi připadalo zvláštní, protože všichni byli velmi chápaví a za chvíli již nebylo vše tak špatné. Většina kolegů se snažila odchýlit od metodických materiálů, aby se obsah vstřebával, a nezmizel jen tak do vzduchu, i když byli i méně svědomití lidé, kteří považovali za normální, že jejich student opisuje bez jakýchkoli vysvětlení.
Když se ukázalo, že z UČC odejdu a program o Pythonu je třeba nějak pokračovat v příštím roce, začal jsem psát svou učebnici. Stručně řečeno, rozdělil jsem ji na dvě části, v první jsem vše vysvětlil o datových typech, jejich podstatě, operacích s nimi a instrukcích jazyka. Mezi tématy jsem udělal QnA, aby budoucí učitel mohl pochopit, jak student zvládl téma. A na závěr jsem vytvořil malé zadání-projekt. První část takto vysvětluje základy jazyka a rozebírá je, což představuje přibližně 12-13 lekcí po 30-40 minutách. Ve druhé části jsem již napsal o OOP, popsal, čím se realizace této paradigmy v Pythonu liší od většiny ostatních, udělal jsem mnoho odkazů na style guide atd. Pokud to shrnu — snažil jsem se být maximálně odlišný od toho, co bylo v učebnici o Javě. Nedávno jsem psal současnému učiteli o Pythonu a ptal se na zpětnou vazbu k materiálům, a teď jsem rád, že všechno jde dobře a že děti skutečně rozumí programování v Pythonu.
Jaký závěr bych chtěl učinit z tohoto příběhu: drazí rodiče, pokud se rozhodnete poslat své dítě do vzdělávacího centra, pečlivě sledujte, co tam dělají, aby vaše dítě neztrácelo čas a v budoucnu nepozbylo chuť programovat.
UPD: Jak správně poznamenali v komentářích, téměř jsem se nezmínil o podání materiálu. Řeknu hned, že si myslím, že praktických cvičení by mělo být co nejvíce. Na konci každé lekce v první části jsem dělal 4-5 malých praktických úkolů na téma kapitoly. Mezi kapitolami byly QnA (kontrolní hodiny), kde také byly praktické, ale už hodnocené úkoly. Na konci první části byl projekt na téma dle výběru z nabízených. Ve druhé části jsem udělal úvod do OOP prostřednictvím vytvoření konzolové mini-hry, jejíž vývoj tvořil celou druhou část a celé úvod do paradigmatu.
Pouze registrovaní uživatelé se mohou účastnit ankety. , prosím.
Učí se váš dítě programování v vzdělávacím centru?
4,6%Ano3
95,4%Ne62
Hlasovalo 65 uživatelů. Zdrželo se 27 uživatelů.
Zdroj: habr.com
