Rád bych vám ve stručnosti představil materiál, který jsem objevil na Internetu. Tento článek vznikl jako jedna z aktivit ICT panelu Výzkumného ústavu pedagogického v Praze, který se cíleně od června 2008 zaměřuje na aktivity směřující k inovaci českých kurikulárních dokumentů týkajících se výuky informatických předmětů v českých základních školách a gymnáziích.
Článek vychází se souhlasem Tima Bella (Department of Computer Science, University of Canterbury, New Zealand) koordinátora mezinárodního projektu Computer Science Unplugged.
Příspěvek převzat z metodického portálu www.rvp.cz provozovaného Výzkumným ústavem pedagogickým v Praze.Dokument Computer Science Unplugged je učebnicí, kterou si můžete ve formátu PDF v angličtině stáhnout z adresy csunplugged.org [odkaz 3 a odkaz 4] a pod licenční smlouvou Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License používat ve výuce. Co se licence týče, můžete tedy materiál ve výuce používat pro nekomerční účely, nesmíte ho však nijak upravovat a vytvářet další verze bez svolení autorů.
Současná aktuální verze je z roku 2006 a od té doby je k dispozici již v sedmi světových jazycích a síť příznivců „informatiky bez počítačů" se stále rozšiřuje. Články v dokumentu procházejí postupně úpravami a online je možné získat již nyní některá samostatná rozšíření. V České republice je prostor pro nějaké občanské sdružení nebo výzkumná pracoviště, aby materiál přeložila do češtiny a ověřila jeho využitelnost v českých podmínkách.
Co je hlavní myšlenkou této učebnice? Vysvětlit dětem již od neútlejšího věku informatické principy bez nutnosti používat počítač. Kniha obsahuje celkem 12 návodů na konkrétní aktivity, ve kterých se vysvětlují vybrané pojmy z teoretické informatiky. Narážíme zde i na překlad a výklad spojení „computer science" v českých zemích - tzv. věda o počítačích, teoretická informatika. To stále není to, na co jsme v českých školách připraveni - učit odděleně od uživatelské informatiky, používání aplikačních programů a konkrétních operačních systémů. Nad obojím - uživatelským i teoretickým přístupem visí obecné principy, které jsou stálé v čase a budeme je jako informatici moci učit nezávisle na aktuálních trendech a materiálních možnostech škol.
Kniha je rozdělena do tří základních částí:
- reprezentace informací (5 aktivit o datech v počítačovém světě)
- algoritmy (5 aktivit se základními algoritmy)
- tvorba procedur (2 aktivity o tom, jak počítači říci, co chceme „naprogramovat")
Každá aktivita obsahuje na samostatném listu teoretický úvod do aktivity, dále stručné shrnutí výukového cíle, odkazy na jiné předměty (zejména matematiku a rodný jazyk), výpis dovedností, které žák absolvováním aktivity dosáhne, doporučený věk pro aktivitu a navrhovaný materiál. Každá část je ukončena teoretickým výkladem, který je nutné použít při reflexi aktivity - na jaké principy si má učitel dát pozor při rozboru. Některé aktivity obsahují rovnou alternativy zadání, které se dají použít ve stejném rámci - např. při výkladu použití dvojkové soustavy v počítačích je připraveno hned několik možných reprezentací „nul a jedniček". Kniha obsahuje i mnoho již připravených obrázků a schémat.
Jaký obrázek o teoretické informatice tato učebnice dává? Dětem nejprve kniha představuje jako hlavní princip fungování počítačů nutnost reprezentovat informace vhodným způsobem. Děti v první aktivitě pochopí nutnost zavedení dvojkové soustavy ve světě počítačů. Dále se naučí zapamatovat si pomocí číslic zakódovaný obrázek a pochopí tak, jak v základní formě funguje digitalizace obrazu. Protože se v počítačovém světě snažíme šetřit paměťová místa pro reprezentaci dat, hned třetí aktivitou dětem autoři ukazují, jak se používá komprese textu. V praxi se ukázané kódování používá při kompresi GIF obrázků nebo v klasickém ZIP kódování. Hned další aktivita ukazuje dětem, jak je možné kontrolovat přenesené objemy dat při kopírování z jednoho počítače na druhý nebo třeba při posílání e-mailů. Dětem je vysvětlen princip detekování chyby v přenesené informaci, zároveň i korekce možné chyby vzniklé při přenosu dat.
V této části je uveden i dobrý příklad na kontrolu správnosti ISBN kódu jakékoli knihy, dětem je nabídnuta hra na detektivy, kdy mohou hledat, jestli kód ISBN nalezený v jakékoli knize, je ten správný. (V českých podmínkách se hodí i příklad kontroly správnosti rodného čísla pomocí dělitelnosti 11). Tato aktivita je přeložena v příloze k tomuto článku (bez rozšíření s ISBN kódem). Poslední aktivita v sekci o datech navádí děti k poznání, že reprezentace dat v počítači nikdy nemůže být menší, než je informační obsah zprávy. V reflexi k aktivitě se žák i učitel dozvědí o teorii informace, o pojmu entropie a slavném Shannonovu teorému. Stručně by se dalo uzavřít, že se žáci dozvědí o základech teorie informace.
S tímto vkladem čtenář začíná s druhou částí knihy věnované algoritmům. V českém prostředí je tato část zřejmě nejvíce inspirující, protože v našich podmínkách často spojujeme výuku programování a algoritmizace s konkrétními nástroji. Právě k principům algoritmizace se učitelé pracně prokousávají skrze vývojové diagramy a jiné metodiky. Takže se pojďte podívat, jak se s tím poprali experti na druhé straně naší zeměkoule.
Algoritmy vyhledávání jsou ukázány na práci s maximálně čtyřmístnými čísly (v aktivitě jsou to kódy lodí) a jejich procházení podle základního algoritmu postupného procházení množiny dat jeden prvek po druhém. Dále binární vyhledávání pomocí půlení intervalu, pokud máme prohledávaná data setříděná. Je připravena i alternativa s ukázkou vyhledávání podle přihlašovacího klíče. Další aktivita ukazuje třídící algoritmy, konkrétně selectsort a quicksort. Dále se žáci seznámí pomocí týmového úkolu s principem třídících sítí, které jsou ukázkou paralelního zpracování dat. Další aktivita se týká klasických úloh k hledání nejkratší cesty v grafu, případně minimální kostry grafu. Zajímavá je i poslední aktivita v této části, a to sice týmová hra na posílání zprávy v síti s kruhovou topologií. Hráči pak musí řešit směrování zprávy v takové síti (routing) a problematiku uvíznutí zprávy během procesu posílání (deadlock). Po všech těchto aktivitách by žáci měli přijít na to, že problematika efektivity je jednou z hlavních priorit při vývoji počítačových aplikací. Je právě zřejmé, že při osvojování konkrétního prostředí programovacího jazyka a učení se jeho syntaxe, není efektivita vždy tou hlavní prioritou, zejména u samouků. Proto tyto činnosti jsou důležitým námětem do aktivit ve třídách už od prvního stupně základní školy.
Poslední část aktivit se týká toho, jak počítače naučíme dělat to, co chceme. Z první části žák ví, jak jsou data organizována, z druhé části si odnesl konkrétní postupy, jak se dají některé problémy efektivně řešit - a že i v počítačovém světě lze věci řešit týmově. Poslední dvě aktivity ukazují na nutnost umět rozpoznat v počítači, co mu slovy a znaky říkáme - taková činnost vede na teorii konečných automatů. Poslední aktivita se zaměřuje na poznání nutnosti naučit se speciální jazyky, kterým počítačům řekneme, co od nich chceme - tedy úvod do světa programovacích (umělých) jazyků.
Konečný automat je dětem přiblížen ve hře, ve které jsou tajemné ostrovy a mezi nimi plují lodě. Dítě má jako stav v automatu ostrov a jako přechodovou funkci, která dostane automat z jednoho stavu do druhého, lodě dvou značení A a B. Při hře musí děti najít cestu z výchozího ostrova na ostrov s pokladem. Celá hra probíhá jako simulace, kdy část třídy představuje ostrovy a zbytek dětí hledá možnou cestu přechodů z jednoho ostrova na druhý. Při reflexi aktivity by se děti měly dozvědět, že právě používáním konečných automatů počítač čte programy napsané v programovacích jazycích.
V poslední aktivitě se děti naučí, jak dávat instrukce a jak je důležité být přesný, protože pokud počítači dáme nějaký příkaz nepřesně, nedočkáme se předpokládaného výstupu. Jeden dobrovolník si vybere některý z připravených obrázků a schová si ho. Potom ho popisuje ostatním a oni podle příslušných instrukcí kreslí.
Přímo online na stránkách projektu jsou k prohlédnutí i další aktivity, které nejsou zatím včleněny do stahovatelného celku. Věnují těmto tématům:
- problém čtyř barev z teorie grafů
- problém dominující množiny v teorii grafů
- hledání Steinerova stromu v grafu
- protokoly zero-knowledge (i jiné)
- problematika veřejného klíče v kryptografii
- návrh uživatelského prostředí
- Turingův test
Jako ukázku aktivity máte v příloze aktivitu 4 - Kouzlo otáčení karet - Detekce a oprava chyby. Překlad aktivity uvádíme se svolením autorů v příloze tohoto článku ve stejné struktuře, jako je v originále. Tuto činnost jsem vybral i proto, že na domovské stránce celého projektu je ke stažení i pohlednice [odkaz 1] se stejnou aktivitou, která po vytištění slouží jako propagační materiál celého projektu - rozhodně jde o velmi zajímavý nápad.
Závěr
Musím upřímně konstatovat, že celý projekt CS Unplugged mne velice zaujal. V českých podmínkách neustále diskutujeme, jaké oblasti teoretické informatiky jsou vhodné pro výuku ve středních nebo i základních školách. Sám bych do seznamu aktivit přidal ještě problematiku autorských práv (jak dětem přiblížit náročnost procesu tvorby software a jeho následnou cenu), v oblasti programování chybí principy objektového programování, případně jiných paradigmat, které se dají bez počítačů vysvětlit (neprocedurální programování, rozdíl interpretovaného a překládaného jazyka). Speciální aktivity by si zasloužily procesy kolem komunikace v Internetu - e-mail, instant messaging a podobně.
Jako velmi dobrou inspiraci pro české verze „unplugged" aktivit bych všem čtenářům doporučil knihu autora Luďka Skočovského - Computer science enjoyer [odkaz 2] - kterou aktivně používám ve výuce informatiky na střední škole. Pro mne je tato kniha odrazovým můstkem poznávání teoretických zákoutí informatiky pro mé žáky ve škole. Nyní mám možnost používat ve výuce i knihu CS Unplugged. Ta navíc žije svým dalším životem, protože velký tým autorů postupně vymýšlí další a další aktivity a snaží se dětem předat principy informatiky bez nutnosti sedět před obrazovkou.
Na počátku jsem se řečnicky ptal v názvu článku, zdali jde učit informatika bez počítačů. Samozřejmě že ne, ale po prohlédnutí knihy CS Unplugged mi jistě dáte za pravdu, že čas, který s dětmi trávíme nad ovládáním konkrétních programů a uživatelských postupů, můžeme o něco efektivněji využít a věnovat se „s křídou a tabulí" i základním principů informatiky, které pak děti v následných počítačových aktivitách aplikují. Těším se na vaše jakékoli zkušenosti a poznámky ke koncepcím „informatiky bez počítače" - psát můžete do diskusních vláken na portále www.rvp.cz [odkaz 5].
Seznam odkazů a zdrojů
[odkaz 1] pohlednice projektu Computer Science Unplugged
csunplugged.com/images/extras/postcards/unplugged%20parity%20trick%20postcard.pdf
[odkaz 2] Luděk Kočovský - Computer Science Enjoyer
www.skocovsky.cz/enjoyer/home.html
[odkaz 3] domovská stránka projektu Computer Science Unplugged
csunplugged.org/
[odkaz 4] učebnice Computer Science Unplugged
www.google.com/educators/activities/unpluggedTeachersDec2006.pdf
[odkaz 5] odkaz na diskusní fórum portálu www.rvp.cz
www.rvp.cz/diskuse/registrace
www.rvp.cz/diskuse/login
Příloha
Kouzlo otáčení karet - Detekce a oprava chyby
Petr Naske
0 komentářů:
Okomentovat