Domů > Odborné články > Gymnaziální vzdělávání > Izraelský koncept výuky informatiky
Odborný článek

Izraelský koncept výuky informatiky

22. 9. 2008 Gymnaziální vzdělávání
Autor
Hashim Habiballa

Anotace

Jedním z možných řešení palčivého problému výuky informatiky na středních školách (především gymnáziích) je poohlédnout se po jiných úspěšnějších zemích, které mají výuku informatiky (nejedná se informační gramotnost) na vysoké úrovni. Jednou z těchto zemí je bezesporu Izrael, jehož výsledky v oblasti "Computer Science Education" jsou uznávány vědeckou komunitou.

Jedním z možných řešení palčivého problému výuky informatiky na středních školách (především gymnáziích) je poohlédnout se po jiných úspěšnějších zemích, které mají výuku informatiky (nejedná se informační gramotnost) na vysoké úrovni. Jednou z těchto zemí je bezesporu Izrael, jehož výsledky v oblasti Computer Science Education jsou uznávány vědeckou komunitou. Nejde však jen o teoretické proklamace, ale o komplexní projekt trvající několik let. Byly do něj zahrnuty stovky učitelů, tisíce žáků středních škol a byly vytvořeny desítky studijních materiálů pro výuku podle těchto osnov. Proběhly různé zpětnovazební výzkumy, které nejen pomohly doladit případné nesrovnalosti, ale byly i zajímavým zdrojem témat pro výzkum v didaktice informatiky. Plody tohoto úsilí jsou vidět už dnes - Izrael je světově uznávanou mocností, pokud jde o informační technologie, přestože je to země malá, krátkou dobu existující a zmítaná stálou hrozbou útoků z mnoha stran. Mnoho vyspělých států včetně Spojených států amerických se od něj může učit, jak žáky vzdělávat v oblasti informatiky.

Reforma výuky informatiky v Izraeli

Komise, založená Izraelským ministerstvem školství, vytvořila v roce 1990 nové učební osnovy informatiky pro střední školy (v Izraeli SŠ odpovídá 10. - 12. ročníku školní docházky). Tato komise se skládala z informatiků z různé úrovně školství (SŠ, VŠ) a z ministerstva. Učební osnovy byly bohatě publikovány na mezinárodní úrovni 2 a jsou rovněž dostupné na Internetu:
www.openu.ac.il/Personal_sites/download/galezer/high-school-program.pdf
www.openu.ac.il/Personal_sites/download/galezer/curr_and_syll.pdf

Učební osnovy již byly vyzkoušeny v rámci pilotního projektu ve vybraných školách a nyní již byly oficiálně schváleny ministerstvem pro výuku ve všech školách.

Principy, podle kterých byly osnovy tvořeny, jsou jistě platné celosvětově bez ohledu na konkrétní podmínky dané země.

  • Informatika by měla být vyučována na rovnocenné úrovni jako jiné vědní obory (fyzika, chemie, biologie).
  • Výuka by se měla koncentrovat na klíčových konceptech oboru. Zejména je potřeba zdůraznit pojem algoritmického problému a jeho řešení - algoritmu. Obsah výuky musí zahrnovat především koncepty nikoliv měnící se technologie.
  • Je potřeba vytvořit odlišné modely výuky (program s 1, 3 a 5 tématy). Provede se diferenciace programů pro školy (žáky) s neinformatickým zaměřením a se zaměření na informatiku.
  • Každý program musí mít povinnou a volitelnou část pro vyšší flexibilitu.
  • Je uplatněn princip "zipu" - konceptuální (teoretická) výuka je kombinována s experimentální.
  • Měla by být vyučována dvě rozdílná paradigmata při programování. Neměl by se tedy udržovat zastaralý způsob jednoho způsobu algoritmického myšlení a řešení problémů (většinou procedurální paradigma).
  • Je nezbytné vytvořit kvalitní učebnice pro všechna vyučovaná témata. Tyto učebnice tvoří několik nezávislých týmů na akademických institucích, přičemž ovšem tyto týmy tvoří jednak odborní informatici, učitelé středních škol i vědci z oboru didaktiky informatiky.
  • Všichni učitelé musí nezbytně mít formální odborné vzdělání v informatice. Toto vzdělání musí odpovídat alespoň bakalářskému ODBORNÉMU studiu informatiky (samozřejmě akreditované učitelské studijní programy v ČR toto mají splňovat).
Učební osnovy

Osnovy se dělí do pěti modulů, z nichž některé mají více než jednu alternativu. Každý modul má dotaci 90 hodin.

  • Základy 1 a 2: Tento zdvojený modul (180 hodin celkem) má dát základy algoritmizace jednak teoreticky (bez konkrétního programovacího jazyka) a paralelně probíhá výuka v konkrétním programovacím jazyce (procedurálním).

Výuka v Základech 1 zahrnuje následující témata:

  1. Úvod (koncept programu - algoritmu - a jeho vstupů a výstupů, ale také velmi stručně popis počítačů, hardware, software, operačních systémů, programovacích jazyků, kompilace a spouštění programů).
  2. Základní model výpočtu (popis prvků procedurálního programování, proměnné, přiřazení, jednoduchá sekvence příkazů).
  3. Návrh algoritmů pro řešení problémů (dekompozice problému na podproblémy).
  4. Podmíněné vykonávaní příkazů (podmínka jako nástroj algoritmizace, nejsou na této úrovni vyučovány ani vnořené operátory ani operátor negace).
  5. Správnost algoritmu (testování, syntaktické, run-time chyby a chyby výstupů algoritmu).
  6. Iterativní vykonávání příkazů (jednoduché iterace, čítače, akumulátory, ukončovací podmínka, nekonečná iterace, příkaz "while").
  7. Efektivita algoritmů (identifikace a vyčíslení složitosti dominantních částí algoritmu, časová složitost jako funkce velikosti vstupu algoritmu, porovnání složitosti, nejhorší případ - v žádném případě nejde o formální definici časové složitosti).
  8. Funkce (rozložení na podproblémy, volání funkce, tělo funkce, volání parametrů hodnotou, lokální proměnné).
  9. Jednorozměrná pole (pole jako kolekce proměnných stejného typu, spojení s iterací jako prostředkem pro práci s polem)
  10. Složitější příklady (využití dovedností z předchozích kapitol pro procvičení, skládání jednodušších sekvencí a struktur pro řízení programu).

Výuka v Základech 2 zahrnuje následující témata:

  1. Návrh algoritmů (složitější problémy, rozklad shora-dolů).
  2. Základní model výpočtu (popis prvků procedurálního programování, proměnné, přiřazení, jednoduchá sekvence příkazů).
  3. Procedury (rozšíření učiva z modulu Základy 1, typy volání parametrů, rozsah platnosti proměnných).
  4. Datové typy (deklarace typu, výčtové typy, pole).
  5. Rekurze (koncept, výhody a nevýhody, vztah k rekurzivní definicím funkcí - faktoriál, Fibonacciho posloupnost).
  6. Znaky a řetězce (práce s texty, operace s řetězci).
  7. Pokročilé algoritmické problémy (vyhledávání, řazení).
  8. Rozšíření správnosti a efektivity algoritmů (hlubší diskuze o správnosti a časové složitosti i ve spojitosti s návaznými kapitolami - rekurze).

Druhé paradigma a aplikace uvádí žáky do druhého programovacího paradigmatu nebo přináší aplikace informatiky - např. informační systémy nebo počítačovou grafiku a to jak teoreticky tak prakticky. V případě, že obsahem je druhé paradigma, musí jít o odlišný přístup než procedurální.

Druhé paradigma se primárně zaměřuje na logické programování. Nejprve se provádí výklad výrokové a predikátové logiky, včetně rozdílů vyplývajících pro logické programování. Dále se probírají klasická témata jako při vysokoškolské výuce jazyka Prolog. Je potřeba zdůraznit, že se zde žáci seznámí s principy formální dedukce (což je nezbytné pro pochopení tohoto paradigmatu), což v naší středoškolské výuce logiky zcela chybí.

Alternativně se vyučuje architektura počítačů, včetně Assembleru (resp. jazyků nízké úrovně). Zde se vyučují číselné soustavy, architektura procesoru, strojový jazyk procesoru a následně principy assembleru, zásobníku, přerušení.

Další alternativou je počítačová grafika. Zahrnuje rozdíl mezi 2D a 3D grafikou a jejich implementace z hlediska hardwarového (buffery, vstupně-výstupní zařízení), 2D modely (bodová reprezentace, drátový model, CSG atd..), vrstvy, reprezentace křivek a ploch (polygony, B-spline, Bezierovy křivky, plochy), zobrazování, transformace, tvorba obrazu (algoritmy vykreslování - DDA, Cohen-Sutherland, atd..), standardy grafických formátů (principy, algoritmy - OPENGL, GIF, atd..). Důležitý je také projekt, který žáci musí sami naprogramovat - jedná se o funkční projekci 3D objektů.

Poslední detailně popsanou aplikační alternativou jsou informační systémy (IS). Definuje se pojem informačního systému a jeho využití, akce v IS - interaktivní vs. dávkové zpracování, dotazy a reporty, updaty, transakce. Důraz na relace a relační databáze, včetně SQL, E-R modelu, Data-Flow diagramů. Opět se zde zpracovává praktický projekt.

Softwarový návrh má prohloubit dovednosti ze Základů 1, 2 (důraz na datové struktury, abstraktní datové typy) a navázat integrací do větších softwarových celků. Zahrnuje témata jako práce s knihovnami funkcí, abstraktní datové typy, zásobník, seznam, časová a prostorová složitost včetně O-notace, třídy složitosti, binární strom, případová studie (návrh "komplexního softwarového balíku" - příprava na praxi).

Teorie - tento poměrně exotický modul má dát žákům náhled na složité (ale fundamentální) partie teoretické informatiky. Buď je kompletně tvořen modulem Výpočetních modelů - různé typy automatů 5 nebo tvoří Výpočetní modely jen polovinu modulu (45 hodin) a druhá část je věnována numerickým metodám.

V modulu výpočetních modelů se zaměřuje výuka především na koncept automatu - akceptoru jazyka (nikoliv tedy na generativní koncept gramatiky, regulárního výrazu). Je to vcelku pochopitelné, neboť automat je běžnému uvažování bližší a dá se uvádět na jednodušších příkladech než gramatické struktury. Výuka zabírá celou Chomského hierarchii (tedy konečné automaty, zásobníkové automaty a Turingovy stroje). Velký důraz se také klade na pochopení vztahu determinismu-nedeterminismu.

Volitelně se také vyučuje numerická matematika, což je opět zajímavá a složitá problematika, která se dá ovšem uplatnit pro řešení mnoha problémů v matematice a informatice (vždyť řešení rovnic nebo soustav lineárních rovnic je univerzální úlohou). V tomto modulu se vyučují obecné koncepty počítačových výpočtů (tedy reprezentace číselných hodnot, nepřesnosti, zaokrouhlování, kumulace numerických chyb), řešení soustav lineárních rovnic (Gaussova eliminace), řešení nelineárních rovnic (iterativní metody - bisekce, Newtonova metoda).

Z těchto modulů pak mohou být vytvořeny tři studijní verze. Verze nízké úrovně - 1 modul" (90 hodin), střední úrovně - 3 moduly (270 hodin) a vysoké úrovně - 5 modulů (450 hodin).

Verze "1 modul" obsahuje pouze Základy 1 a je povinná v rámci těchto osnov (je vyučována buď v 10. nebo až 11. ročníku).

Verze "3 moduly" obsahuje Základy 1, 2 a dále modul Druhé paradigma nebo aplikace. Tento modul se rovněž vyučuje v 10. nebo 11. ročníku a to intenzivně během jednoho roku.

Verze "5 modulů" obsahuje všechny moduly a je určena primárně pro žáky, kteří se zajímají specificky o informatiku (kterých je dnes ale samozřejmě mnoho). I když teoretický modul se může zdát pro středoškolskou informatiku jako příliš složitý, má pro potenciální žáky informatiky velký význam (záleží na způsobu podání, které nemůže kopírovat styl VŠ výuky).

Implementace ve školách, problémy a zajímavé experimentální výsledky

Původní vzorek 8 škol (1991), kde se osnovy zkoušely, byl brzy (1994) rozšířen na 40 škol a v roce 2000 již byly osnovy zařazeny na všechny střední školy. Velkým problémem byla nedostatečná formální příprava učitelů, což se řešilo pomocí nouzových intenzivních kurzů na univerzitách, kde učitelé bez formálního vzdělání v informatice získali potřebnou kvalifikaci. To je podobný problém i v ČR, kde se také do rozšiřujících studií informatiky - obvykle alespoň tříletých - hlásí velmi mnoho již zkušených učitelů jiných aprobací než informatiky (v kontrastu s kriticky prázdnými ročníky klasického prezenčního studia učitelství). Nicméně i pro plně aprobované učitele informatiky bylo potřebné uspořádat kurzy pro seznámení s novými - revolučními - osnovami a vzniklými učebnicemi.

V rámci zavádění osnov byly mimo jiné provedeny dva zajímavé pedagogické výzkumy, jejichž závěry by pro (učitele) informatiky měly být zajímavé. První z nich se týká časové složitosti (náročnosti) algoritmů. Pokud se budeme snažit představit něco typického pro informatiku, asi nás především napadne pojem algoritmus jako řešení nějakého problému (např. seřazení posloupnosti čísel). Hned na to nás asi napadne také pojem časové složitosti 4, protože algoritmické řešení musí být také dostatečně efektivní (rychlé), aby mělo pro praxi smysl. V rámci modulu Základy 1 je zařazena také malá část věnovaná časové složitosti algoritmů (připomeňme, že tento modul je povinný). I když jde samozřejmě o dost kontroverzní téma pro středoškolskou výuku - její zařazení není nijak podobné složitosti didakticky pojaté na vysokoškolské úrovni (tedy žádné formální definice, ale pouze výpočet konkrétní složitosti - počtu elementárních kroků). Jde spíše o snahu žákům alespoň částečně umožnit pochopit, že programy řešící stejný problém, mohou být různě efektivní. Při praktické výuce byly zjištěny zajímavé časté chyby, kterých se žáci dopouštějí při chápání, zda jeden program je "rychlejší" než druhý 3. Tyto chyby se dají také charakterizovat pomocí univerzálních typů pro vzdělávání v oblasti přírodních věd. Byly identifikovány u vybraných frekventantů SŠ podle nových osnov.

Kratší program má menší časovou složitost - tato chyba odpovídá obecnému chybovému konceptu "čím více A, tím více B". Žáci si myslí, že méně příkazů v programu znamená také vyšší efektivitu.

Méně proměnných znamená menší časovou složitost - podobně jako u předchozí chyby žáci spojují nesprávně počet proměnných s efektivitou.

Programy obsahující stejné příkazy v různém pořadí jsou stejně efektivní - jde o instanci obecného principu stejné A, stejné B.

Dva algoritmy provádějící stejný úkol mají stejnou složitost

Dalším velmi zajímavým výzkumem je studie věnovaná asi nejkontroverznějšímu modulu - Teorii. Díky experimentu s vybranými žáky se podařilo odhalit problémy ve vnímání nedeterminismu versus determinismu při návrhu konečných automatů 1. Tento rozpor mohou vnímat i vysokoškolští učitelé při výuce teorie formálních jazyků a automatů. Nedeterminismus je pro žáky navyklé na algoritmické - tedy deterministické myšlení poněkud složité téma. Rovněž současné počítače jsou typicky deterministické stroje, a proto se zdá, že nedeterminismus při návrhu automatů nutí žáka vlastně dělat přesný opak toho, co je mu během studia informatiky vštěpováno. Nemusíme při něm promýšlet odezvy na všechny možné situace (to odpovídá automatu, který nemusí být typicky nedeterministický, ale nemá ošetřeny všechny situace) a navíc můžeme v případě několika možných řešení jedné situace využít právě tuto nedeterministickou možnost (to by u deterministických strojů bylo něco nemožného).

Návrh nedeterministického automatu je tedy obecně mnohem jednodušší (pohodlnější). Na druhou stranu to vyžaduje se částečně oprostit od klasického algoritmického myšlení, protože na výpočet nedeterministického automatu se lze v každém kroku dívat jako na nalezení jedné z cest, která vede k úspěšnému rozpoznání slova (automat jakoby uměl uhodnout, kterou možnost z několika použít).

V experimentu měli žáci možnost si sami vybrat, zda zapíší automat nedeterministicky (jednoduše) nebo si řešení zkomplikují a budou se snažit vytvořit automat deterministický (nebo částečně deterministický). Výzkum ukázal, že přibližně polovina žáků volí řešení spíše deterministické (někdy jen s lokálním nedeterminismem). Také se ukázalo, že existují velké rozdíly mezi skupinami žáků podle učitele (tedy hodně záleží na tom, jak sám učitel dokáže význam vztahu determinismus-nedeterminismus posoudit a pochopit). Ze subjektivních hodnocení vyplynuly například přímo obavy z nedeterminismu a dokonce i u jednoho z učitelů.

Závěr

Osnovy informatiky v Izraeli vypadají možná, v kontextu dnešního způsobu zařazení informatiky do výuky u nás, jako nedosažitelný ideál. Mezi pozitiva, která bychom mohli částečně přejmout i v ČR, patří především důraz na principy nikoliv konkrétní technologie - produkty. Bohužel do naší výuky INFORMATIKY stále více pronikají na úkor principů právě tyto rychle umírající technologie či dokonce konkrétní produkty. Místo principů počítačem podporované sazby textu učíme MS-Word. Místo konceptů počítačové grafiky učíme práci s konkrétním produktem. Podíváme-li se na modul Počítačové grafiky, právě tyto silné a hlavně přetrvávající principy tvoří páteř výuky. Naučíme-li žáky práci s produktem, na první pohled jim tím dáme velkou výhodu, neboť bez dalšího studia jsou schopni se v praxi uplatnit. Bohužel jen na velmi omezenou dobu, protože tyto produkty rychle vystřídá jiná technologie (vzpomeňme například na výuku psaní textů v editoru T602 - 10 let zpět - což je dovednost v dnešní době nepoužitelná).

Druhou zajímavou vlastností osnov je povinná výuka algoritmizace alespoň na minimální úrovni. Jistě se najde mnoho oponentů takového přístupu, přesto se těžko dá nazývat předmět INFORMATIKA bez výuky algoritmizace alespoň na minimální úrovni (algoritmické myšlení a řešení problémů je asi nejtypičtějším znakem tohoto oboru, který ho diferencuje od jiných věd). Odvážné je rovněž zavést (ovšem na intuitivní úrovni) pojem efektivity (složitosti), přesto je to další klíčové vlastnost, která pro nasazení produktů informatiky v každodenním životě hraje nezbytnou roli.

Rovněž vybrané aplikace (počítačová grafika, informační systémy) a jejich vysoká teoretická úroveň mohou být vzorem i pro české osnovy. Absolventi s takovýmito znalostmi mohou být nasazeni při praktickém vývoji databází, programování informačních systémů na základě návrhu podle rozšířených modelovacích nástrojů a standardů.

Posledním sice asi nejkontroverznějším, ale přesto potřebným modulem je teorie. Pochopit například vztah jazyka-gramatiky-automatu nebo determinismu a nedeterminismu je obtížné i pro studenta VŠ. Přesto by studenti uvažující o studiu informatiky měli mít možnost získat představu o těchto tématech již na SŠ (samozřejmě zcela odlišným způsobem - tedy intuitivně, na příkladech a ne formálně algebraicky). Studenti VŠ programů v informatice nemají ve většině případů zažito, že informatika je disciplína vysoce provázaná s matematikou (algebrou). Jejich představa o VŠ studiu informatiky je v lepším případě spojena s programováním a bohužel často ani to neplatí a představa je spojena se skládáním hardwarových komponent, budováním počítačových sítí a ve vůbec nejhorším případě pak s uživatelskou prací v aplikačních programech.

Kromě výše uvedených modulů, které jsou dobře použitelné i pro naši výuku, je vidět, že cíle výuky INFORMATIKY a tzv. INFORMAČNÍ GRAMOTNOSTI jsou relativně neslučitelné a bylo by zřejmě dobré je vyučovat pod samostatnými předměty. Jednak jsou cílové skupiny výuky INFORMATIKY odlišné podle zaměření žáka (viz odstupňované zapojení počtu modulů) zatímco u INFORMAČNÍ GRAMOTNOSTI jde spíše o homogenní výuku pro všechny. A v druhé řadě jde v INFORMATICE o výuku plnoprávného vědního oboru, zatímco u gramotnosti jde o společensky vyžadované dovednosti absolventa (podobně jako u výuky čtení a psaní) - samozřejmě by se ideálně tyto dovednosti měly spíše vyžadovat již od absolventa základního školství.

Co však lze vyvodit konkrétního, pokud jde o Rámcové vzdělávací plány? Rozhodně je potřeba nějakým rozumným způsobem oddělit od sebe informatiku jako vědu, která si zaslouží mít své místo po boku dalších věd, a informační gramotnost, která je někde zcela jinde - je to jakýsi základ pro každého žáka. Docela dobře by to bylo možné už ve stávajících RVP, pokud si stanovíme tyto dvě oblasti odděleně jako rovnoprávné. Bohužel dnes je informační gramotnost jakýmsi jádrem oblasti ICT a informatika jako taková se v ní ztrácí v několika málo tématech, určitě se nejedná o rovnoprávný stav. Mnoho témat by se mohlo po již zdůrazňovaném přechodu k principům přiřadit i do informatické části ICT - vždyť témata jako architektura počítačů jsou ryze informatická témata. Docela lze také využít modulární systém. Tedy informatické učivo rozdělit do modulů, z nich povinný "minimální model" by zahrnoval alespoň základy algoritmického řešení problémů.

Použitá literatura

ARMONI, M., GAL-EZER, J. On the Achievements of High School Students Studying Computational Models. In Proceedings of ITICSE, 2004, Leeds, UK.
GAL-EZER, J., HAREL, D. Curriculum and course syllabi for a high-school program in computer science. Comp. Sci. Education, 2/1999(9), p. 114-147.
GAL-EZER, J., ZUR, E. The Efficiency of Algorithms - Misconceptions. Computers and Education, 2004, 42, 3, pp. 215-226.
HABIBALLA, H., KMEŤ, T. Vyčíslitelnost a složitost. MFI 15 (2005 - 06), č. 2 a 3.
HABIBALLA, H., VOJKOVSKÝ, P. Formální jazyky a automaty. MFI 13 (2003 - 04), č. 5 a 6.

Soubory materiálu
Typ
 
Název
 
pdf
504.88 kB
PDF
www.openu.ac.il/Personal_sites/download/galezer/curr_and_syll.pdf
pdf
143.55 kB
PDF
www.openu.ac.il/Personal_sites/download/galezer/high-school-program.pdf

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
Hashim Habiballa

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Článek pro obor:

Informatika a informační a komunikační technologie