Počítač, chytrý telefon, sociální sítě či internet jsou nedílnou součástí života moderního člověka. Ale opravdu nám moderní technologie jenom slouží, nebo je to někdy naopak? Čím jsou technologie složitější, tím složitější je naučit se je opravdu efektivně používat a zároveň bude čím dál důležitější umět programovat tak, aby technologie co nejvíce sloužily konkrétnímu uživateli podle jeho individuálních představ.
Je zajímavější počítačovou hru hrát, nebo programovat?
Ing.
Ivana
Durdilová
učitelka programování, SPŠE Praha 10, V Úžlabině 320
Výuka programování spolu s výukou všech předmětů z oblasti informačních a komunikačních technologií patří mezi nejmladší předměty vyučované na školách. Informatika se navíc jako vědní obor dynamicky mění, často z roku na rok, a je tak prakticky nemožné odhadnout v horizontu několika málo let, natož desítek let, na jakých základech bude stát, jaké budou její priority, jaký styl programování bude převažovat a jaké metodologie vývoje softwaru budou nejefektivnější. Jisté je, že se tato oblast bude měnit čím dál rychleji, že každý bude běžně používat čím dál více programovatelných předmětů a že dobří programátoři budou i nadále vysoce poptávanou profesí. To ovšem klade vysoké nároky nejen na vyučující programování, ale i na vyučující dalších předmětů informačních a komunikačních technologií, protože se musejí neustále vzdělávat. Zároveň je nesmírně obtížné připravit studenty na to, aby se dokázali v programování a obecně v celé oblasti výpočetní techniky orientovat nejen v současnosti, ale aby se zvládli přizpůsobovat měnícím se podmínkám po celý svůj profesní život.
Proto se jako nejdůležitější ve výuce programování jeví naučit studenty logicky myslet, řešit problémy a samostatně se dále vzdělávat i po opuštění školních lavic.
Zatímco v prvopočátcích vývoje výpočetní techniky bylo programování výsadou několika málo nadšenců, s rostoucí dostupností počítačů se komunita zájemců o programování exponenciálně rozrůstala a na střední školu přicházel poměrně vysoký počet dětí, které již nějaké zkušenosti s programováním měly. Dnes má "koníček" programování svůj zlatý vrchol za sebou, na základních školách se "programuje" spíše ojediněle a na střední školu se hlásí spousta žáků, kteří mají bohaté zkušenosti s hraním her, ale to, jak byly vytvořeny, je nezajímá. Jakmile zjistí, že programování "nejde samo", ztrácejí o programování jako o předmět, kde je potřeba se učit, zájem.
Učitel programování by měl mít za sebou určité praktické zkušenosti, měl by mít solidní teoretické znalosti, měl by zvládat metodiku výuky programování, ale neméně důležité je i umění děti motivovat a výuku tohoto odborného předmětu učinit natolik zajímavou, aby se opětovně alespoň pro některé žáky stala koníčkem.
Na adrese
http://uzlabinskykviz.asp2.cz/
jsme proto uveřejnili aplikaci obsahující několik různých logických hlavolamů naprogramovaných v programovacím jazyku C , který vyučujeme na SPŠE V Úžlabině 320, Praha 10. Některé z těchto hlavolamů programujeme v rámci jednoho dvouhodinového cvičení, na některé je potřeba dvouhodinových cvičení několik a některé - jako například sudoku - byly vytvořeny jako dlouhodobá maturitní práce. U každého hlavolamu je stručně popsáno zadání a je možné si nechat zobrazit nápovědu. Když žáci vidí, že je možné naprogramovat si vlastní hru a že to zvládli jejich starší spolužáci, je to pro ně určitou motivací. To, že jejich starší spolužáci naprogramovali aplikaci zjišťující, zda zadané číslo je či není prvočíslem, nebo aplikaci počítající objem různých těles, už pro ně bohužel motivací není.
Na uvedené webové stránce je dále vysvětlen i přesný postup, jak krok za krokem naprogramovat hru "Šibenice", kterou všichni znají ze svých dětských let. U každého kroku je jednak podrobně popsáno zadání, jednak je možné si zobrazit zdrojový kód. Aplikace je plně interaktivní, takže je možné uvedený kód spustit. Podrobný návod umožňuje, aby si studenti hru naprogramovali sami doma nebo aby v rámci výuky každý postupoval svým vlastním tempem.
Neexistuje univerzální návod, jak ze všech studentů udělat špičkové programátory, ale všichni jsou schopni pochopit základy algoritmizace. Stejně tak neexistuje univerzální návod, jak ve všech studentech vzbudit lásku k programování, ale programování zábavnějších úloh může alespoň částečně posunout vztah některých žáků k programování správným směrem. V budoucnosti totiž bude čím dál důležitější principy programování pochopit.