Reakce na článek – "Ryant: Nahraďte algoritmizaci systémovým přístupem!"

Jako učitel informatiky na ZŠ a G a člen ICT panelu VÚP jsem chtěl reagovat na zajímavý článek pana Ryanta o výuce informatiky na gymnáziu. Hezké léto všem!

V RVP máme formulaci algoritmické řešení problémů, což se na většině škol zužuje do používání nějakého konkrétního programu/prostředí, který nabízí „naučit“ počítač nějakou automatizovanou činnost – makro v kancelářské aplikaci, podmínky vysvětlované na filtrech v tabulkovém kalkulátoru, ovládání nějakého „dětského“programovacího jazyka – pokud zbyde čas ve výuce „povinné“ infomatiky, programování v nějakém vyšším jazyce. Líbí se mi, že autor článku nás učitele vyzývá, ať nelpíme na for cyklech, vývojových diagramech a podobně. V jeho návrhu je pozvánka k tomu, abychom založili výuku více na používání modelovacích jazyků, jako je třeba UML. Snad jsem tedy pochytil výzvu dobře 🙂

Ze své zkušenosti musím říci, že mezi „systémovým přístupem a modelováním“ a praktickým „naučením počítače jakékoliv činnosti“ je veliká propast a pro standardního gymnazistu nedosažitelná v hodinové dotaci na povinnou výuku informatiky. Z vlastní praxe vím, že žák se učí nový jazyk v podobě jakéhokoliv modelovacího jazyka (např. vývojový diagram) a nový jazyk v podobě syntaxe programovacího jazyka jako dva odlišné světy. Předpokládat, že průměrný žák gymnázia aplikuje znalosti z modelovacího jazyka do syntaxe konkrétního jazyka je dle mého mylný. Učitel tak stojí před volbou – jít cestou syntaxe jazyka, rychlých řešení „visual“ systémů a podobně a nebo cestou systémovou pomocí vhodného modelovacího jazyka.

Konzultoval jsem s jedním postgradualním studentem obsah jeho plánované práce a jako učitel informatiky na SŠ jsem ho požádal o následující „pomůcku“ k výuce informatiky – „vyrobte mi sbírku příkladů, kde budou prezentovány základní prvky práce programátora (dědičnost objektů, základní struktury procedurálních jazyků, rekurzivní datové struktury třeba i v deklarativních jazycích, dynamické přidělování paměti, připravené komponenty k programování a podobně) a ukázány na nějakých vybraných aktuálně používaných jazycích (C#, Python, C++, Visual Basic – co byste sem přidali/nepřidali vy??). Co byste pro výuku navrženou panem Ryantem potřebovali právě Vy?

Největší problém/výhodu vidím v tom, že zdravé jádro Vaší třídy ve výuce „modelování, algortimizace a programování“ tvoří a budou tvořit vždy studenti, kteří jsou samouci a doma se nad příručkou učí konkrétní programovací jazyk a ne žádný systémový přístup. Já jako učitel mám pak hlavní roli v tom, „odvést“ ho od jeho slepých zakoutí a nesystematičnosti, vhodně využít už to co umí a navázat na to výukou modelování a principů. Jakou aktivitu bude vyvíjet doma průměrný student, který výuku modelování a případné algoritmizace/syntaxe jazyka bude brát jako nutné zlo, povinné dle RVP a učebních osnov? To je to co mne trápí – jak překlenout individuálním přístupem propastné mezery mezi studenty, kteří se počítačům věnují rádi i ve svém volném čase a těmi ostatními.

Uzavřel bych můj vklad do diskuse vzpomínkou na rozhovor s organizátorem celostátní soutěže v programování ve vyšších jazycích, ředitelem Stanice techniků Vyšehrad v Praze, který celostátní soutěž spolupořádá (mimochodem, vedle soutěží programování robotů a Baltíka, jde o jedinou celostátně uznávanou soutěž v programování – viz. www.stv.cz). Při debatě o budoucnosti soutěže jsme porovnávali přístupy Domů dětí a mládeže a škol. Na DDM se snaží děti naučit „programovat“, aby mohly případně posléye rovnou nastoupit do firmy na zaučení, dle toho najímají externí lektory a vybírají konkrétní produkty, se kterými děti učí pracovat. Ve školách rádi řešíme principy, zdráháme se někdy učit jeden konkrétní systém, výuku programování tedy zužujeme na letmý dotyk principů světa informatiky (nekomentuji zde výběrové semináře, jen povinno výuku). Jsme pak schopni také řešit v sáhodlouhých debatách, jestli středoškolák má/nemá vědět, co je IP adresa, do jaké hloubky, čeká nás to i teď při plánované maturitě z ITZ.

Děkuji moc za článek!!!