Algoritmické rozcvičky

Díváte se někdy na detektivky? Pokud ano, všimli jste si, jak se sestavuje identikit? Začíná se od tvaru obličeje. Oválný, hranatý...přitom normální, běžný člověk, si zrovna tvar obličeje prakticky neuvědomuje. Určitě si všimne vousů, křivého nosu, chybějícího předního zubu, tedy věcí obecných, které jsou nápadné, ale nevypovídají nic o tom, jak osoba ve skutečnosti vypadala. Sestavení identikitu je tak piplačka na několik hodin.

Naproti tomu zkušený policista začne tím, že dotyčný měl hranatý obličej se silnými lícními kostmi, oči postavené široce od sebe...Obdržel postup, který mu umožní zapamatovat si a později popsat kteréhokoliv člověka. Dokáže to velice rychle a efektivně, řádově v sekundách. Využívá předem daný algoritmus.

Algoritmizace je způsob, jakým o věcech uvažujeme. Není to žádná specifická disciplína, kterou bychom nějak extra učili. Je to prostě jen způsob, jakým lze věci vnímat a popisovat. Počítač k tomu nepotřebujeme, myslíme hlavou, ne klávesnicí. Tužka a papír jsou docela užitečné proto, abychom si svoje myšlenkové pochody zapsali, poznačili a pak je mohli předat dál. Psát poznámky na počítači není úplně nejlepší nápad. Jednak k řadě činností počítač vůbec nepoužijeme, jednak bychom se pořád soustředili na to stejné: kde píšu, na čem píšu a není to náhodou hotové na Google? My se ale potřebujeme zaměřit na jiné věci. Nejdůležitější je umět najít společné rysy nebo podstatu daného úkolu.

Cílem úloh zde uvedených je naučit se postupovat podobně, jako při sestavování identikitu - tedy od obecných vlastností k těm specifickým tak, abychom dostali popis - ať už osoby nebo řešení úlohy - který je použitelný obecně, pro každého. Tomuto postupu se říká analytický.

A samozřejmě i obráceně. Začneme u jednoduchého tvaru a pokusíme se jej rozvinout tak, abychom dostali co nejvíce variant jeho využití. To je postup syntézy - dáváme dohromady známé jednoduché věci tak, abychom dostali složitý celek.

Jakmile si osvojíme metodu, jak rozeznat vzorce a společné rysy určitých věcí, můžeme se naučit aplikovat už hotové postupy. To nám výrazně zjednoduší práci. A jako další krok se pak můžeme zaměřit na rozpoznání základních struktur v postupech. Takových struktur je jen velmi málo a stále se opakují. Jejich využití nám tedy opět zrychlí a usnadní práci. Tyto struktury už umíme zapsat do schématu. Je jedno, jestli to bude vyjádření slovy nebo vývojový diagram. A schéma lze přeprogramovat - tedy přepsat pro počítač.

Jak texty používat?

Na začátku jsou vždy uvedeny orientační údaje - dá se tedy říci, kolik asi času úlohou lze strávit a jestli je vhodná pro vaši třídu. Na konci je pak navazující úloha. Průchod není nezbytně nutné dodržet, mě se to tak prostě osvědčuje a žákům se tento postup líbí. Jediné, co je důležité, je nezařazovat slovní úlohy mezi prvními. Ano, vím, že to svádí, vypadají pěkně a obvykle se také používají poměrně brzy, ale pro žáky jsou těžké. Většina z nich neumí používat jazyk dospělým způsobem a musí se k tomu nejprve dopracovat.

Jinak se odvaze a dobrovolnosti meze nekladou - se všemi obměnami, které si troufnete vyzkoušet, dostanete více jak třicet různých her, podporujících pozornost a myšlení. Po skončení hry navazuje klasické programování tak, aby žáci hru vnímali jen jako nastartování činnosti. U výuky ale důsledně vyžadujeme totéž, co hodnotíme při hrách:

  • Dívej se!

  • Přemýšlej!

  • Zapisuj!

Žáci zprvu neuvažují v klasických strukturách, proto je dobré se občas vrátit k základům a čekat, jestli třeba u "Robota" dojde k použití dotazů nebo cyklu v jeho klasické podobě. Obvykle se po pár týdnech dočkáme velmi příjemného překvapení v tom, jak se žáci sami posunuli na vyšší příčku, aniž bychom s nimi něco drilovali.