DIDAKTICKÝ EXPERIMENT VE VÝUCE TEORETICKÉ INFORMATIKY



Podobné dokumenty
Celoživotní vzdělávání

Soulad studijního programu. Aplikovaná informatika

5.1.7 Informatika a výpočetní technika. Časové, obsahové a organizační vymezení. ročník hodinová dotace

Renáta Bednárová, Petr Sládek. Pedagogická fakulta MU Brno, Univerzita obrany Brno

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

TEORETICKÁ INFORMATIKA VE VZTAHU K PROGRAMÁTORSKÝM TECHNIKÁM

Časové a organizační vymezení

ÚVOD Didaktika fyziky jako vědní obor a jako předmět výuky v přípravě učitelů F Prof. RNDr. Emanuel Svoboda, CSc.

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

Přírodní vědy. Doplňující pedagogické studium - geografie - učitelství pro SŠ a ZŠ

RNDr. Milan Šmídl, Ph.D. Co je to BOV?

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Brožura dobré praxe

Standard studijního programu Učitelství informatiky pro střední školy

DIDAKTIKA FYZIKY DIDAKTICKÉ PRINCIPY (ZÁSADY) Prof. RNDr. Emanuel Svoboda, CSc.

vývojvoj a perspektivy

PARAMETRY EFEKTIVITY UČENÍ SE ŽÁKA V PROSTŘEDÍ E-LEARNINGU SE ZAMĚŘENÍM NA ADAPTIVNÍ VÝUKOVÉ MATERIÁLY

Hodnocení a klasifikace při výuce F na SŠ. Jiří Tesař

Standard studijního programu Informatika se zaměřením na vzdělávání

Statistika. Klíčové kompetence V rámci výuky statistiky jsou naplňovány tyto klíčové kompetence: řešení problémů, komunikativní,

DIDAKTIKA FYZIKY Organizační formy výuky

Pedagogika I Zimní semestr Akademický rok 2014/15

Měření výsledků výuky a vzdělávací standardy

PRAVDĚPODOBNOST A STATISTIKA 1

CHEMICKO-INŽENÝRSKÉ VZDĚLÁVÁNÍ VE STRUKTUROVANÉM STUDIU

Informatika na Univerzitě Palackého

InformatikaaVT(1) Cílem předmětu je: Žáci:

Obchodní akademie, Náchod, Denisovo nábřeží 673

V t í á t V á V s ČVU V T v v P r P a r ze

Autodiagnostika učitele

Struktura e-learningových výukových programù a možnosti jejího využití

ZÁKLADNÍ METODOLOGICKÁ PRAVIDLA PŘI ZPRACOVÁNÍ ODBORNÉHO TEXTU. Martina Cirbusová (z prezentace doc. Škopa)

Itálie Dotazník pro učitele VŠ připravující budoucí učitele cizích jazyků Zpracování údajů

Obchodní akademie, Náchod, Denisovo nábřeží 673

Praktické využití Mathematica CalcCenter. Ing. Petr Kubín, Ph.D. Katedra elektroenergetiky, ČVUT v Praze, FEL

VÝUKOVÉ METODY A FORMY V ZEMĚPISE

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

PEDAGOGIKA: OKRUHY OTÁZEK Státní závěrečná zkouška bakalářská

Bakalářský studijní obor informatika

System for individual learning of mathematics. Agnieszka HEBA, Ph.D. Doc. RNDr. Jana KAPOUNOVÁ, CSc. dr hab. prof. UŚ Eugenia SMYRNOVA-TRYBULSKA

Obchodní akademie, Náchod, Denisovo nábřeží 673

Reálné gymnázium a základní škola města Prostějova Školní vzdělávací program pro ZV Ruku v ruce

Didaktika odborných předmětů- testové otázky

ALGORITMY A DATOVÉ STRUKTURY

Měření efektivity informačního vzdělávání. Mgr. Gabriela Šimková KISK, Filozofická fakulta MU

VYUŽITÍ PROGRAMOVACÍCH METOD PŘI VÝUCE TEORETICKÉ INFORMATIKY

Současné možnosti ICT ve vzdělávání a strategie vedení školy

UČEBNÍ OSNOVA PŘEDMĚTU

1 Projekt SIPVZ Tvorba a implementace softwarové podpory výuky matematiky na gymnáziu s využitím CABRI Geometrie

Charakteristika seminářů 2019/ ročník

Průvodce studiem modulu pro kombinovanou formu studia. Modul č. 13 UPLATNĚNÍ NA TRHU PRÁCE - dílčí část II Bakalářský seminář + příprava na praxi

STRUČNÝ POPIS E LEARNINGOVÝCH KURZŮ

Jak efektivně přednášet v době e-learningu

MASARYKOVA UNIVERZITA V BRNĚ

Co je to matematika?

Studium informatiky: přehled českých vysokých škol

VYUŽITÍ ICT VE VÝUCE FYZIKY NA GYMNÁZIU. Jana Škrabánková Vít Schindler

Informatika pro 2. stupeň

EU peníze školám. Základní škola Jablunkov, Lesní 190, příspěvková organizace. Žadatel projektu: Kč

Základní škola a Mateřská škola Třemešná Třemešná 341 tel: IČ:

Standard studijního programu Didaktika chemie

II. MATEMATIKA A JEJÍ APLIKACE

INTEGRACE ENVIRONMENTÁLNÍ VÝCHOVY DO VYUČOVÁNÍ MATEMATIKY NA 1. STUPNI ZŠ VÝSLEDKY ANALÝZY

Modularizace a modernizace studijního programu počáteční přípravy učitele fyziky

Příloha č. 1 Jedno a vícefaktorová analýza dat ANOVA

STUDENTSKÉ HODNOCENÍ VÝUKY ZA LS 2015/2016 NA PEDF UK

Informace o studijním oboru M/01 Strojírenství

Informační a komunikační technologie

K pojetí a funkci bakalářských prací kombinovaného pedagogického studia. PhDr. Jiřina Novotná, NÚV TTnet workshop

TEORIE ZPRACOVÁNÍ DAT

Upravená žádost o akreditaci podle požadavků AK

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Reálná čísla a výrazy. Početní operace s reálnými čísly. Složitější úlohy se závorkami. Slovní úlohy. Číselné výrazy. Výrazy a mnohočleny

Masterský studijní obor datové & webové inženýrství

Vzdělávací aktivity ve vzdělávání

Jak žáci gymnázia vnímají výuku informatiky jako vědy

OBOROVÁ DIDAKTIKA, HISTORIE DIDAKTIKY A VÝUKY CHEMIE

Projekt výzkumu v graduační práci

Moravská vysoká škola. Olomouc, o.p.s.

INFORMACE O STUDIU NA PŘÍRODOVĚDECKÉ FAKULTĚ OSTRAVSKÉ UNIVERZITY

Matematika II. dvouletý volitelný předmět

Střední průmyslová škola Hranice Studentská 1384, Hranice

Doktorské studijní programy (obory), které budou v akademickém roce 2017/2018 na VŠB-TU Ostrava otevřeny:

čtyřleté gymnázium a vyšší stupeň osmiletého gymnázia

Ukázka charakteristiky předmětu Český jazyk (pro nedoslýchavé) z pracovní verze ŠVP ZŠ pro sluchově postižené, Liberec.

Další povinnosti / odb. praxe. Návrh témat prací. Návaznost na další stud. prog.

Vyučovací hodina, příprava a vyučovací metody

CHARAKTERISTIKA PŘEDMĚTU INFORMATIKA (4 leté studium)

Organizace výuky, podmínky zápočtu a zkoušky. Vyučovací metody formy a metody vyučování. Vyučovací jednotka, praktické dokumenty ve výuce

Spojení a kontakty: Střední průmyslová škola strojní a elektrotechnická a Vyšší odborná škola, Liberec 1, Masarykova 3, příspěvková organizace

P r e z e n t a c e p r o j e k t u. Přílohy k prezentaci

CHARAKTERISTIKA PŘEDMĚTU FYZIKA ( čtyřleté studium a vyšší stupeň osmiletého gymnázia)

METODICKÝ APARÁT LOGISTIKY

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA. pro nástavbové studium. varianta B 6 celkových týd.

Datová věda (Data Science) akademický navazující magisterský program

Antonín Přibyl Odborná praxe oborů PS a AI

Didaktický proces vzdělávání

STATISTIKA. Inovace předmětu. Obsah. 1. Inovace předmětu STATISTIKA Sylabus pro předmět STATISTIKA Pomůcky... 7

MATEMATICKÝ SEMINÁŘ (volitelný a nepovinný předmět)

Soulad studijního programu. Bioanorganická chemie

Transkript:

DIDAKTICKÝ EXPERIMENT VE VÝUCE TEORETICKÉ INFORMATIKY HABIBALLA Hashim Abstrakt. Příspěvek popisuje pedagogický experiment výuky teorie formálních jazyků a automatů na základě aplikačního přístupu. Rozebírá praktickou realizaci experimentu a předkládá výsledky první fáze. Klíčová slova: Teoretická informatika, didaktika informatiky, formální jazyky a automaty, pedagogický experiment DIDACTIC EXPERIMENT IN EDUCATION OF THEORETICAL COMPUTER SCIENCE Abstract. The article describes educational experiment in teaching of theory of formal languages and automata with application concept. It presents practical realization and initial results. Keywords: theoretical computer science, computer science education, formal languages and automata, pedagogical experiment 1 Úvod východiska experimentu Informatika jako samostatný vědní obor má za sebou v porovnání s jinými exaktními vědami poměrně krátkou historii, i když se samozřejmě oblasti jejího zájmu prolínaly s jinými disciplínami, především matematikou a technickými vědami. Zatímco například matematika má solidně propracovaný systém didaktiky (teorie vyučování), v informatice se tento systém prozatím buduje a bohužel někdy mnohem pomaleji než by si metodikové, učitelé i samotní žáci a studenti přáli. Postupně jsem si tento problém, jako učitel budoucích profesionálních informatiků a učitelů informatiky, začal uvědomovat. Při mém studiu na vysoké škole jsem se setkal s mnoha odvětvími a souvisejícími oblastmi informatiky od technických záležitostí hardwaru počítačů přes algoritmizaci a programování až k abstraktní matematice a především teoretické informatice. Poslední zmiňované odvětví se vyznačovalo nejen obtížným učením a chápáním, ale také přitažlivostí pro toho, kdo ho pochopit chtěl a dokázal. V teoretické informatice se mi otevřela cesta k poznání, co stojí za aplikovanými oblastmi informatiky tedy k matematické logice, teorii jazyků a automatů či vyčíslitelnosti a složitosti algoritmů. Tyto předměty měly poměrně blízko k matematice ve své formální stránce a také používaly její metody důkazy, které pro mnoho studentů znamenaly demotivaci až odpor k těmto předmětům. Vyžadovaly značné úsilí studenta, ale toto úsilí se vyplatilo. Vedlo k pochopení struktury programovacích jazyků, návrhu efektivních algoritmů i deklarativních přístupů známých opět z praxe používání databází.

Jelikož z vlastní zkušenosti vím, jak akcent na tyto schopnosti může usnadnit proces učení, zahájil jsem práci v oblasti teorie vyučování informatiky, která by měla mít zpětnou vazbu. Ta spočívá v návrhu výuky s využitím aplikačního pojetí, které bylo formulováno jako učení s důrazem na vyšší učební cíle [3],[4]. Mělo by se pracovat s intuitivními znalostmi studentů a především využít jejich analytické a algoritmické schopnosti s použitím počítačových aplikací a jejich algoritmů zdrojových kódů. Zpětnou vazbou pak bude pedagogický experiment realizovaný na Ostravské Univerzitě (OU) s didaktickými testy, který by měl potvrdit nebo vyvrátit hypotézu, že tento přístup umožňuje studentům dosahovat lepší výsledky při chápání a aplikovatelnosti znalostí a dovedností. 2 Aplikační pojetí výuky V této práci je snaha využít algoritmizačních a programátorských schopností a motivačního faktoru při výuce. Jak ve středním, tak vysokém školství je třeba akcentovat mezipředmětové vztahy. Konkrétně na úrovni VŠ jde pak o vztahy mezi jednotlivými teoretickými oblastmi informatiky a předměty spadajícími do programování a aplikací. Komplexní příprava praktických odborníků a učitelů v oblasti informatiky vyžaduje pevné základy teoretických disciplín. Je důležité vytvářet u studentů nejen statické znalosti (definice, věty, důkazy), ale také specifické dovednosti, návyky a postoje (analytické a algoritmické myšlení, strukturovaný přístup k jazykům a překladačům atd...) Z těchto důvodů je třeba zkoumat, zda dosud převážně používané metodiky (i když nejsou explicitně formalizovány) jsou efektivní v tomto směru. Z praxe učitelů (i studentů) těchto předmětů lze často slyšet, že klasická výuka založená na učení znalostí při použití organizační formy hromadného vyučování vede k memorování bez pochopení principů, demotivaci pro další studium a tím i formování nesprávných návyků a postojů v informatice u budoucích absolventů. U studentů nadaných a motivovaných pro teoretické obory má tento způsob výuky své opodstatnění a je pro ně zajímavý. Ti chtějí pochopit nejen podstatu, ale i dokazovat, že pojmy mají mezi sebou deklarované vazby. Mluvíme však pouze o úzké skupině, která by neměla být cílovou skupinou této základní výuky. Cílem by mělo být, aby každý student chápal význam teorie pro praxi a pro jeho obecný profesionální nadhled v informatice. Měl by umět vidět vlastnosti algoritmů v jejich obecnosti, nutnost zkoumat řešitelnost a efektivnost řešení problémů. Také by měl pochopit, že používané nástroje v informatice jsou založeny na pevných strukturách souvisejících s pojmy gramatiky, jazyka a analyzátoru. Taktéž logický úsudek a jeho formalizace v matematické logice by se měl stát součástí postojů informatika. Proto byl zahájen didaktický experiment, který má dát odpověď na základní otázku, zda aplikační pojetí při výuce teoretické informatiky, zlepší naplnění vyšších vzdělávacích cílů tedy porozumění, aplikaci, analýzu a syntézu. Ve výuce teorie formálních jazyků a automatů na VŠ se většinou akcentuje matematické pojetí. Buduje se pojmový aparát na matematických strukturách a dokazují se vlastnosti zaváděných struktur. Mnohem méně se však ukazuje, jaké je využití těchto znalostí a zejména, jak se tyto struktury v praxi implementují. Nejblíže aplikačnímu pojetí je výuka na technických vysokých školách (v ČR například VŠB, VUT), kde se studenti učí nejen teorii, ale i používané softwarové nástroje k vytváření rozkladových tabulek gramatik apod. (yacc, LL-gen atd.) Používaní nástrojů však studentům nedává potřebný náhled principů samotných algoritmů pro tvorbu analyzátorů. Pochopení těchto algoritmů jim přibližuje nepřímo také samotné teoretické otázky tvorby syntaktických analyzátorů a překladačů. Například metoda rekurzivního sestupu [2] je velice účinnou metodou pro výuku tvorby analyzátorů a principů jejich práce. Podobné přístupy mohou napomoci studentům při

pochopení vztahů mezi jazyky, gramatikami a automaty a to tím, že podporují didaktické zásady názornosti a trvalosti. Podporuje se tím specifický i nespecifický transfer znalostí a dovedností. Práce prof. Lewise z University of Kentucky [11] ukazuje názorné využití této metody a neméně zajímavé jsou z hlediska didaktického např. práce [9]. Ve výzkumu půjde o důsledné didaktické využití a prověření účinnosti metod s podobnými atributy. 3 Programátorské didaktické pomůcky Aplikační pojetí výuky využívá ve větší míře programátorské didaktické pomůcky. Tyto pomůcky mají poskytnout nejen názorný, interaktivní nástroj pro teoretickou výuku, ale především naplňovat aplikační pojetí výuky tedy poskytovat studentům náhled na teoretická témata s pomocí implementace algoritmů a tím jim usnadňovat dosažení vyšších učebních cílů. Tyto pomůcky vznikaly nejen jako bakalářské a diplomové práce pod vedením autora, ale také v rámci předchozí výuky jako produkty projektové metody vyučování. Popišme si alespoň zkráceně vlastnosti, které by měla programátorská pomůcka splňovat a příklady některých z nich, které byly a jsou používány ve výuce. Jak vyplynulo z předvýzkumu realizovaného na OU [6], studenti sice nepreferují disciplíny teoretické informatiky, ale poměrně vysoko si cení algoritmizace a programování. Proto je snaha využít aplikace a jejich algoritmický základ pro výuku jistě zajímavá, vzhledem k motivaci studentů. Nejde jen o jejich využití jako interaktivních pomůcek pro pochopení teoretických předmětů, ale i o využití algoritmických dovedností, které fungují obousměrně. Přinášejí s sebou obousměrný transfer studenti se naučí řešit teoretické postupy algoritmicky pomocí počítače a zároveň tak lépe pochopí teoretickou stránku problematiky. Vždyť podle psychologických výzkumů význam právě takovýchto pomůcek je neoddiskutovatelný ([12] na základě psychologických studií Fredmanna): Průměrný člověk si zapamatuje přibližně: - 10% z toho, co přečte - 20% z toho, co slyší - 30% z toho, co vidí v podobě obrazu - 50% z toho, co vidí a současně slyší - 70% z toho, co vidí, slyší a aktivně vykonává - 90% z toho, k čemu dospěl sám, na základě vlastních zkušeností vykonáváním činnosti A právě hypotézou výzkumu je tvrzení, že pro informatiky je touto činností analýza problému a jeho algoritmizace a implementace. Pokud je student nejen nucen učit se obrovské množství definic, vět a důkazů, ale dokáže je aplikovat na konkrétní situace, budou jeho dovednosti hlubšího a trvalejšího charakteru. Programátorské didaktické pomůcky jsou prostředkem, který k vysoké efektivitě výuky směřuje. Nelze je však považovat za pouhý pedagogický software (teachware), u nějž nejde principiálně o pochopení realizace samotných algoritmů tohoto software. Za základní požadavky kladené na programátorskou didaktickou pomůcku lze považovat: 1. Jde o aplikaci realizovanou prostřednictvím (osobního) počítače (příp. i na jiném prostředku, který umožňuje jeho programování)

2. Aplikace řeší teoretický problém a umožňuje interaktivně řešit problémové úkoly studenti mohou parametry programu i vstupu měnit dle vlastní vůle nebo pokynů učitele. 3. Aplikace má alespoň základní dokumentaci, která studentům umožní samostatnou práci a zároveň je vhodné, aby obsahovala ilustrativní příklady. 4. Procedury, které vybraný problém při zvolené konfiguraci řeší, je možné rozebrat na základě jejich algoritmické implementace. Zároveň lze do těchto procedur zasahovat a měnit chování programu, nebo použít úseky kódu pro řešení příbuzných problémů. Důsledné splnění všech těchto podmínek je obtížné. Splňují je beze zbytku pouze některé používané aplikace. Pokud jde o body 1. 3. jsou podmínky jasné, ovšem naplnění bodu 4. naráží na mnoho komplikací: - autorská práva k některým i akademickým aplikacím sice umožňují jejich použití, avšak omezují nebo zcela vylučují práci se zdrojovými kódy aplikace - implementace je realizována v málo přístupném prostředku pro studenty (například jazyk C++ je sice z profesionálního hlediska účinný, ale jeho didaktické použití není příliš vhodné) - aplikace používají velké množství již hotových knihoven nebo produktů, které zamezují vniknutí do jejich algoritmických řešení apod. Vzhledem k tomu, že nelze tyto problémy pominout ani nelze zavrhnout aplikaci, která bod 4. nenaplňuje, je možné jeho splnění v přiměřených mezích. Například aplikace RABJ1 (viz další text) tento bod nebude splňovat, ale přesto má didaktický význam a řešení je tak zdařilé, že lze jeho použití ve výuce teorie formálních jazyků velmi doporučit a nahradit teoretickým výkladem algoritmů, který tento prostředek implementuje. Programátorské didaktické pomůcky pro výuku teorie formálních jazyků: PREGJAUT Tato aplikace umožňuje provádět a zobrazovat detaily převodu regulárních výrazů na automaty (nedeterministické, deterministické, podílové a normované). Tento program studenti využívají pro kontrolu samostatně počítaných příkladů a také pro sledování průběhu převodu jednotlivými mezikroky. K programu jsou rovněž přiloženy zdrojové kódy, které mohou studenti použít pro lepší pochopení probíraných algoritmů. Algoritmy, jakožto jádro programu, jsou vytvořeny v Turbo Pascalu 7.0 a jsou uloženy ve třech unitech - syntaktická analýza zadaného regulárního výrazu v infixu metodou rekurzivního sestupu s rozpoznáváním chyb a s paralelním zápisem do postfixu, převod regulárního výrazu zadaného v postfixu na ZNKA, všechny ostatní přechody (tzn. ZNKA -> NKA -> DKA -> Totální KA -> PA -> NA). Pro práci se studenty se osvědčilo zadávat výpočet jednoduchého regulárního výrazu manuálně (např. ((a + b)b*)). Studenti si tak postup vyzkoušejí samostatně a uvidí, že tento postup lze efektivně realizovat automatizovaně. Dále je velmi užitečné jim ukázat, že ekvivalentní výrazy (např. (ab* + bb*)) vedou ke stejným automatům. Studenti jsou podobným aplikovaným způsobem výuky osloveni a sami si pak dokáží vytvářet problémové příklady. Uživatelské rozhraní PREGJAUTu je vidět na obrázku.

Obrázek 1: Aplikace Pregjaut GRAMAUT Asi nejrozsáhlejší a nejprecizněji zpracovanou je práce Mgr. Hřivňáka [7]. Tato práce přináší počítačovou aplikaci GramAut, která umožňuje návrh a převody regulárních a bezkontextových gramatik a příslušejících automatů. Implementuje stávající algoritmy a dává velmi účinný didaktický nástroj pro výuku. Umožňuje i provádět syntaktickou analýzu u těch gramatik, které vyhovují podmínkám pro LL(k) resp. LR(k) gramatiku. RABJ Další velmi zdařilou prací (dokonce seminární!), která vznikla během výuky teorie formálních jazyků a automatů je aplikace studenta Koběrského a kol. pro výpočet množin FIRST a FOLLOW u LL(1) gramatik a vytvoření rozkladové tabulky. Všechny tyto práce přispívají nejen k osobnímu rozvoji studentů v programování, ale i v teoretické informatice, neboť jim umožňují lepší pochopení problematiky. Příklad, který můžete vidět na obrázku, je gramatikou pro aritmetické výrazy s operátory +,* a závorkami. Gramatiku lze navrhnout přímo v tomto programu a poté si lze nechat vypsat následující položky strom pravidel, množiny FIRST, FOLLOW, N-epsilon, množinu konfliktů a vytvořit rozkladovou tabulku, pokud nenastal žádný konflikt. Podobných programátorských pomůcek je již vytvořena celá řada a jejich použití je testováno v experimentální výuce.

Obrázek 2: Aplikace RABJ pro tvorbu rozkladové tabulky LL(1) gram. 4 Pedagogický experiment a analýza tématických celků Hlavní výzkumnou metodou je pedagogický experiment [12]. Tento experiment je realizován na Ostravské Univerzitě mezi studenty informatických oborů a to studia odborného magisterského oboru informační systémy a bakalářského oboru aplikovaná informatika; ve výběru jsou také spolu s bakaláři zahrnuti studenti učitelství, jelikož jejich odborný profil zhruba odpovídá spíše bakalářskému studiu. Je aplikován na studenty kurzu Regulární a bezkontextové jazyky I. a II. a to tak, že byla vybrána experimentální(e) a kontrolní skupina(k). Skupina E je vyučována v souladu s aplikačním pojetím a kontrolní skupina je vyučována klasickým přístupem definice-věta-důkaz bez důrazu na vyšší učební cíle. Hypotézy výzkumu byly přesně specifikovány podle dílčích cílů a problémů. Jeho výsledky vedly právě k formulaci aplikačního pojetí. Použité prostředky jsou popsány v článku [5]. Pro podporu samostatné práce je také studentům k dispozici literatura především kvalitní učebnice (např. [8],[1] a mnoho dalších). Pro ověření hypotéz jsou zpracovány didaktické testy, které zkoumají vědomosti, dovednosti a návyky studentů. Pro ověření postojů je zpracován dotazník, který zjistí subjektivní názory studentů po absolvování obou fází experimentu. Výsledky jsou zpracovávány pomocí statistických metod testování hypotéz a analýzy rozptylu. Na základě této kvantitativní analýzy bude vytvořeno kvalitativní hodnocení cílů. Jistou slabinou výzkumu je omezený vzorek studentů, které lze zkoumat. Vždy půjde o řádově několik desítek studentů v každé skupině. Je to bohužel způsobeno tím, že se zkoumá výuka na terciární úrovni, kde je v daném oboru a typu studia (netechnicky zaměřeného) oproti sekundární úrovni mnohem méně potenciálních jedinců ke zkoumání. Nebylo by ani správné srovnávat například studenty oboru inženýrských nebo naopak matematicko-informatických, jejichž úroveň v různých prvcích učiva bude odlišná (inženýři jsou spíše znalí uživatelé nástrojů, kdežto matematičtí informatici budou spíše rozšiřovatelé poznání v teoretické informatice - výzkumníci v základním a aplikovaném výzkumu). Výuka

podle aplikačního pojetí by měla být zaměřena právě na prakticky zaměřené informatiky (ale nikoliv pouhé operátory!), tedy na tvůrce informačních systémů, vývojáře, programátory, kteří potřebují pro svou profesi porozumět teoretickým základům informatiky. Bylo by jistě mnohem zajímavější provést výzkum na vzorku o řád vyšším, na druhou stranu je nutné vycházet z reálných možností. Přesto by výsledky měly mít svou validitu ze dvou důvodů. Jednak v metodologické literatuře [12] se i takový vzorek považuje za malý nicméně dostačující, a za druhé je analýza variance kvalitním statistickým aparátem, který z těchto dat umožňuje činit závěry, za předpokladu splnění vstupních podmínek. Navíc exaktní testy, jejichž výsledky jsou sledovány, byly konzultovány jak s odbornými informatiky, tak odborníky na didaktiku a proto by jejich vypovídací hodnota měla být vysoká (a samozřejmě i se samotnými studenty absolventy kurzu). Testy jsou vypracovány podle metodické literatury a podle patří mezi testy nestandardizované, kognitivní, ověřující a jde o testy výsledků výuky. Testy jsou zpracovány na každý tématický celek a jsou stejné pro obě skupiny (K,E). V testu jsou otázky rovnoměrně rozloženy podle taxonomie vzdělávacích cílů a obsahu učiva, tj. nejen na znalosti studenta, ale hlavně na jeho porozumění učivu. V první fázi experimentu byly obě skupiny podrobeny výuce prvního tématického celku pro rozsáhlost je uvedena pouze část souhrnné didaktické analýzy učiva, aby si čtenář mohl udělat obrázek o obsahu a metodách výuky v kontrolní a experimentální skupině: Tématický celek 1: Konečný automat a jazyky rozpoznatelné konečnými automaty, regulární jazyky a výrazy (kontrolní skupina) Důležitost: seznámení studentů s pojmem automatu a jazyka; determinismus vs. nedeterminismus základy pro pochopení lexikálních a syntaktických struktur. Cíle: student po absolvování má chápat vztahy mezi jazykem, gramatikou a automatem; má znát a umět definovat pojem KA; má umět definovat deterministický a nedeterministický automat; má umět provádět převody podle algoritmů mezi ZNKA, NKA a DKA; má umět provádět základní množinové operace s automaty; má umět provádět převody DKA na redukovaný normovaný tvar; všechny tyto vlastnosti převodů musí umět matematicky dokázat alespoň v základních myšlenkových principech; má pochopit princip regulárních výrazů a jazyků; vztah regulárních jazyků a jazyků rozpoznatelných KA a tyto vztahy matematicky dokázat. Obsah: - je rozdělen do 21 témat s ohledem vědecký systém teorie formálních jazyků - pro obor jsou důležité tyto principy pro pochopení struktury jazyků (např. programovací, dotazovací apod.) a jejich rozpoznávaní - příklady jsou spíše matematické (jazyky jsou v omezených abecedách např. {0,1}) - Metody a formy výuky: - informačně-receptivní metoda výklad definic, algoritmů, vět a důkazů - reproduktivní metoda řešení příkladů převodů, množinových operací, aplikace vět - forma hromadného vyučování Motivace: - ukázka vyhledávání v textu pomocí regulárních výrazů (experimentální skupina) Důležitost: viz skupina K + zdůraznění intuitivních pojmů jazyka, gramatiky a analyzátoru.

Cíle: viz skupina K; menší důraz na matematické důkazy a více pozornosti věnovat tomu, aby student pochopil aplikace učiva celku v praxi. Metody a formy výuky: - informačně-receptivní metoda výklad definic, algoritmů, vět a intuitivních pojmů - reproduktivní metoda řešení příkladů převodů, množinových operací, aplikace vět; využití didaktických nástrojů (aplikací) popsaných v předchozím textu, především programu Pregjaut a programu GramAut - problémový výklad důkazy vztahů regulárních jazyků a konečných automatů - heuristická metoda studenti s použitím zmíněných aplikací budou vypracovávat příklady ekvivalentních regulárních výrazů, podmnožin jazyků a dokazovat pomocí převodů na redukované tvary jejich ekvivalenci; skupiny studentů dostanou za úkol naprogramovat vybrané převodní algoritmy - forma hromadného vyučování užije se pro výklad pojmů, procvičování - forma skupinového vyučování užije se pro zadávání samostatných prací programování vybraných převodních algoritmů Motivace: Hlubší pochopení principů formalizovaných pojmů na základě intuitivních; ukázka praktických aplikací a nástrojů, se kterými mohou studenti interaktivně pracovat; programování algoritmů ve skupinách Didaktické testy, které ověřují naplnění učebních cílů jsou rovněž k dispozici. Pro jejich rozsáhlost jen uveďme, že každá jejich otázka byla důkladně promyšlena na základě analýzy, jaké výstupní znalosti a dovednosti by měl student zvládnout. Pro příklad se zamysleme nad touto otázkou: Uveďte alespoň 5 jazyků, které nelze rozpoznat konečným automatem. (3.3,3.4 dle taxonomie učebních úloh) Prověřuje, zda student chápe, které jazyky (principiálně) nelze konečným automatem rozpoznat. V testech tedy nejde o to, aby student jen reprodukoval (bez pochopení) kritérium pro regularitu jazyka, ale aby skutečně chápal, co to znamená. Jen takto dosáhneme toho, aby student pouze nememoroval znalosti, ale chápal je. 5 Výsledky první fáze experimentu První fáze experimentu byla realizována na katedře informatiky a počítačů Přírodovědecké fakulty Ostravské Univerzity v zimním semestru akademického roku 2002/2003. Zúčastnilo se ho celkem 56 studentů z toho bylo 28 bylo zařazeno do výuky v experimentální skupině a 28 do výuky v kontrolní skupině. V každé skupině byli zastoupeni rovnoměrně studenti oboru aplikovaná informatika (bakalářské studium) + učitelství a informační systémy (magisterské studium). Studenti kontrolní skupiny byly vyučováni klasickým přístupem založeném na matematickém přístupu podobným například výuce algebry apod. (definice-věta-důkaz) a na cvičeních jim byly dávány příklady na procvičení problematiky z přednášky. Naopak skupina experimentální byla vyučována s použitím výpočetní techniky podle již popsané analýzy učiva. Studenti měli možnost pracovat s aplikacemi, které interaktivně simulovaly konečné automaty, převodní algoritmy a byly jim podávány příklady, kde se prakticky využijí konečné automaty a regulární výrazy a jejich teoretické vysvětlení pomocí konečného automatu. Dále studenti dostali zadán samostatný projekt - tvorba samostatných příkladů s pomocí programátorských pomůcek.

Didaktický test, který studenti absolvovali, byl ohodnocen maximálně 25 body a bodové hodnocení bylo rozvrstveno podle témat a jejich obtížnosti. Otázka s nejmenším ziskem byla za 1 bod a s největším za 3 body, celkem bylo v testu 12 otázek. Test byl konstruován s maximální možností objektivního hodnocení obsahuje sice otevřené otázky, nicméně jejich zhodnocení je vzhledem k snadnému ověření správnosti ve všech případech jednoznačné. I u otázek, kde student prováděl výpočty, byly stanoveny jasná pravidla záchytné body kterých musel student dosáhnout, aby mu byl v dané otázce přidělen jistý počet bodů. Takto silně otevřené otázky však byly však v testu pouze 3. Normalita dat a shodnost rozptylů Důležitým kritériem pro aplikaci analýzy rozptylu je normalita dat testu. Byly provedeny základní testy (v softwaru NCSS97) a jejich výsledky potvrzují hypotézu o normalitě výsledků testu (na 5% hladině). Na obrázku můžete vidět grafy četností pro skupinu K a E. Shodnost rozptylů byla testována modifikovaným Levenovým testem a jeho výsledek je hraniční, i když na 5% hladině nebyla hypotéza o shodnosti rozptylů zamítnuta. Histogram of C5 Histogram of C6 10,0 12,0 7,5 9,0 Count 5,0 Count 6,0 2,5 3,0 0,0 5,0 10,0 15,0 20,0 25,0 C5 0,0 12,0 15,5 19,0 22,5 26,0 C6 Obrázek 3: Histogram četností skóre testu u skupiny K a E Výsledky testů na normalitu a shodnost rozptylů jsou následující: Test Prob Decision Assumption Value Level (0,05) Skewness Normality of Residuals -1,7450 0,080991 Accept Kurtosis Normality of Residuals 0,5256 0,599197 Accept Omnibus Normality of Residuals 3,3211 0,190033 Accept Modified-Levene Equal-Variance Test 3,7240 0,058896 Accept Výsledky statistické analýzy tohoto testu (analýza rozptylu) jsou následující. Hypotéza 1: Jsou celkové vědomosti studentů v kontrolní (K) a experimentální skupině (E) po první fázi stejné? Hypotéza 2: Jsou celkové vědomosti nezávislé na studovaném oboru (aplikovaná informatika - AI, informační systémy - IS)? Hypotéza 3: Jsou celkové vědomosti nezávislé na interakci mezi typem výuky a oborem? Výsledky analýzy rozptylu můžeme rozebrat z následující tabulky (byl použit přehlednější výstup z MS-Excel):

Faktor K E Celkem AI Počet 14 14 28 Součet 230 270,5 500,5 Průměr 16,42857 19,32143 17,875 Rozptyl 22,99451 7,831044 17,01157 IS Počet 14 14 28 Součet 231,5 264 495,5 Průměr 16,53571 18,85714 17,69643 Rozptyl 8,825549 5,978022 8,524802 Celkem Počet 28 28 Součet 461,5 534,5 Průměr 16,48214 19,08929 Rozptyl 15,32374 6,704696 ANOVA Zdroj SS Stupně MS F Hodnota P F krit variability volnosti Výběr 0,446429 1 0,446429 0,039135 0,843952 4,026631 Sloupce 95,16071 1 95,16071 8,342104 0,005634 4,026631 Interakce 1,142857 1 1,142857 0,100187 0,752873 4,026631 Dohromady 593,1786 52 11,40728 Celkem 689,9286 55 Vidíme, že celkový průměrný výsledek studenta je ve skupině K 16,48 b. a ve skupině E 19,09 b. Experimentální skupina tedy dosahuje lepších výsledků v průměru o 2,61 b. Otázkou alternativní hypotézy 1 však je, zda je takovýto rozdíl statisticky významný na rozumné hladině významnosti. Na to nám dává odpověď řádek Sloupce, který určuje hodnotu Fisher-Snedecorova rozdělení. Hodnota P (pravděpodobnosti, že toto rozdělení nabývá hodnoty větší než vyčíslené) je zhruba P=0,006. To dává na hladině 5% významnosti (resp. 95% spolehlivosti) oprávnění zamítnout hypotézu o nevýznamnosti rozdílu na standardní hladině používané ve společenských vědách můžeme tvrdit, že v experimentální skupině jsou výsledky lepší než v kontrolní. Dalším tvrzením, které můžeme formulovat je přijmutí hypotézy, že vědomosti nezávisí na studovaném oboru (P=0,84) a také že vědomosti nezávisí ani na interakci mezi typem výuky a studovaným oborem (P=0,75). Pro formulaci dalších hypotéz je test rozdělen na skupiny otázek podle jejich taxonomie učebních úloh a dále taxonomie učebních cílů. V testech se tyto otázky občas překrývají, přesto však vzhledem k jednoznačnosti a nezávislosti výsledku analýzy bylo provedeno jejich jednoznačné rozčlenění podle převažující vlastnosti. Posledním rozčleněním bylo zkoumáno, jak se liší výsledky skupiny K a E podle částech učiva. Hypotéza 4: Jsou výsledky studentů skupiny K a E v následujících typech úloh stejné? - 4.1: pamětní reprodukce - 4.2: jednoduché a složité myšlenkové operace - 4.3: tvořivé myšlení Hypotéza 5: Je naplnění následujících učebních cílů u studentů skupin K a E stejné?

- 5.1: porozumění - 5.2: aplikace - 5.3: analýza - 5.4: syntéza Hypotéza 6: Jsou výsledky v jednotlivých částech učiva stejné u skupin K a E? - 6.1: základní pojmy - 6.2: konečné automaty a uzávěrové vlastnosti - 6.3: regulární jazyky a výrazy - 6.4: vztah regulárních jazyků a jazyků rozp. KA, Nerodova věta Pro tyto hypotézy bylo opět použito analýzy rozptylu a jejich výsledky jsou shrnuty v tabulce. Prům. Rozdíl prům. P-testu Statist. význ. rozdíl(5%) Hypotéza max. Sk. K úspěšnost Sk. E úspěšnost 1-celkové vědom. 25 16,48 65,92% 19,09 76,36% 2,61 0,005634 ANO 4.1-pamětní repr. 5 3,05 61,00% 4,36 87,20% 1,31 0,000412 ANO 4.2-myšlenkové op. 14 10,07 71,93% 10,41 74,36% 0,34 0,563713 NE 4.3-tvořivé operace 6 3,36 56,00% 4,32 72,00% 0,96 0,00512 ANO 5.1-porozumění 5 3,71 74,20% 3,95 79,00% 0,24 0,563966 NE 5.2-aplikace 10 7,04 70,40% 8,68 86,80% 1,64 6,61E-05 ANO 5.3-analýza 6 3,25 54,17% 4,5 75,00% 1,25 0,004482 ANO 5.4-syntéza 4 2,48 62,00% 1,96 49,00% -0,52 0,156537 NE (-) 6.1: základní pojmy 4 3,71 92,75% 4 100,00% 0,29 0,014706 ANO 6.2-KA a UV 6 4 66,67% 5,17 86,17% 1,17 0,000184 ANO 6.3:RJ a RV 7 3,29 47,00% 4,32 61,71% 1,03 0,031257 ANO 6.4:vztah RJ a KA 8 5,48 68,50% 5,59 69,88% 0,11 0,860358 NE Jak již bylo řečeno, celkové vědomosti a dovednosti jsou u studentů experimentální skupiny lepší. Pokud jde o jednotlivé typy úloh, tak ve všech oblastech jsou u skupiny E lepší, avšak u myšlenkových operací to nelze statisticky dokázat (tedy převody, výpočty apod.). Studenti skupiny E však mají převahu v reprodukci poznatků a v tvořivých operacích (jsou tedy schopni lépe si zapamatovat definice, věty a dokáží řešit problémové úlohy). Z hlediska učebních cílů jsou studenti skupiny E lepší v oblasti porozumění (což ale nebylo prokázáno), aplikace a analýzy. V oblasti aplikace jsou dokonce velmi výrazně lepší, což je pro tento výzkum jedna z nejdůležitějších oblastí. Pokud jde o syntézu znalostí, pak skončili lépe studenti skupiny kontrolní. Z hlediska aplikačního pojetí však právě tuto oblast nepreferujeme. Jde o schopnost syntetizovat definice a věty do správných matematických formalizací a formálně používat tento aparát. Je vcelku logickým závěrem, že v této oblasti jsou studenti skupiny K mírně zvýhodněni (čas věnovaný aplikacím u skupiny E logicky chyběl na formalizaci). Přesto ani tento rozdíl není statisticky významný. Z hlediska podcelků (částí) učiva se podařilo prokázat statisticky lepší výsledky u celků základní pojmy teorie jazyků a automatů, konečné automaty, regulární jazyky a výrazy. Všechny tyto celky jsou z hlediska aplikačního pojetí důležité. Poslední celek vztahy a vlastnosti byl také lépe nastudován skupinou E, ovšem rozdíl není statisticky významný. Tento celek je z hlediska aplikačního méně významný. Shrňme si nyní výsledky do grafické podoby obsahují srovnání skupiny K a E v celkovém výsledku a podle jednotlivých zkoumaných vlastností.

25 20 15 10 Skupina E Skupina K 5 0 1-celkové vědomosti 4.1-pamětní repr. 4.2- myšlenkové op. 4.3-tvořivé operace Obrázek 4: Taxonomie učebních úloh ve skóre testu a celkový výsledek 25 20 15 10 Skupina E Skupina K 5 0-5 1-celkové vědomosti 5.1-5.2-aplikace 5.3-analýza 5.4-syntéza porozumění Obrázek 5: Taxonomie učebních cílů ve skóre testu a celkový výsledek 25 20 15 10 Skupina E Skupina K 5 0 1-celkové vědomosti 6.1- základní pojmy 6.2-KA a UV 6.3-RJ a RV 6.4-vztah RJ a KA Obrázek 6: Části tématického celku ve skóre testu a celkový výsledek 6 Závěr Uváděné výsledky jsou pouze první fází experimentu a jsou pouze malou sondou do možností, jak vyučovat pro někoho nezáživnou teoretickou základnu oboru. Tento experiment

by měl být pouze prvním z řady z experimentů, výzkumů a návrhu forem, metod a přístupů při výuce teorii formálních jazyků a automatů. Předpokládám, že podobný přístup ocení nejen studenti disciplín z oblasti teoretické informatiky, ale ze všech oborů věd, které v sobě nosí silnou logickou strukturu, silnou formalizaci a zároveň intuitivní interpretaci pojmů a vlastností. Právě automat, gramatika či jazyk je podle mne pro informatika nejlepším příkladem, že formální definice lze podat způsobem, který bych nazval výkladem dle selského rozumu. Proč by tyto disciplíny jako je logika či teorie algoritmů měli dobře pochopit a umět v praxi aplikovat pouze nadaní studenti? Snad tento omezený výzkum dává naději, že to lze alespoň částečně změnit. Jelikož tento výzkum prokázal, že aplikační přístup s využitím programovacích metod, praktických aplikací a implementace a používaní programátorských pomůcek přispívá k naplnění některých vyšších učebních cílů a celkové úrovni vědomostí, bude na něj navazovat další práce zejména v těchto bodech: - průběžný výzkum dalších přístupů aplikačního pojetí (didaktický experiment, tvorba aplikačních programátorských úloh, didaktických testů, opomíjená interpretace chyb [10]) - aplikace přístupů experimentem i do dalších oborů teoretické informatiky (jako nejvhodnější pro další výzkum se jeví výuka matematické logiky) - tvorba studijních opor podle metodiky (s důrazem na praktické aplikace, samostatnou tvořivou činnost studentů); využitelné jak v prezenční výuce, tak v distanční formě studia - možnosti integrace těchto přístupů skutečné informatiky do sekundárního vzdělávání (studenti by minimálně v nepovinných seminářích informatiky na SŠ měli mít možnost setkat se s teoretickými základy informatiky, tak jako je to obvyklé v zavedených předmětech fyzika, chemie, apod.); v této oblasti je v přípravě článek ve spolupráci s Petrem Vojkovským z gymnázia ve Frýdku-Místku, který nejen nastiňuje možnosti, ale ukazuje i zkušenosti z výuky konečných automatů a reg. jazyků na tomto gymnáziu. 7 Literatura [1] ČEŠKA, Milan, RÁBOVÁ, Zdena. Gramatiky a jazyky. Brno, VUT 1992. Dokument dostupný na URL: http://www.fit.vutbr.cz/study/courses/ti1/public/gj-1.3.pdf [2] DVOŘÁK, Stanislav. Dekompozice a rekurzivní algoritmy. Praha, Grada 1992. [3] HABIBALLA, Hashim. Application concept in education of theoretical computer science. In Acta didactica 5. Nitra, FPV UKF 2002, s. 95-99. [4] HABIBALLA, Hashim. Metodika aplikačního pojetí při výuce teoretické informatiky. In Information and Communication technology in education. Ostrava, OU 2002, s. 198-203. [5] HABIBALLA, Hashim. Teoretická informatika ve vztahu k programátorským technikám. In Tvorba softwaru 2002. Ostrava, Tanger 2002, s. 41-49 [6] HABIBALLA, Hashim. Vztah studentů informatiky k teoretickým disciplínám. In III. vedecký seminár doktorandov. Nitra, FPV UKF 2002. Nitra. s. 119-123. [7] HŘIVŇÁK, J. Formální jazyky a automaty [diplomová práce], Ostravská Univ., 2001. [8] CHYTIL, Milan. Automaty a gramatiky. Praha, SNTL 1984. [9] KASTENS, U. Demonstration of parsing methods. University of Paderborn, 2002. Dokument dostupný na URL: http://www.uni-paderborn.de\fachbereich\ag\agkastens\compiler\parsdemo\index.html [10] KULIČ, V. Chyba a učení. Praha, SPN 1971. [11] LEWIS, F.D. Recursive Descent Parsing. University of Kentucky, 2002. Dokument dostupný na URL: http://cs.engr.uky.edu\~lewis\essays\compilers\rec-des.html [12] TUREK, Ivan: Didaktika technických predmetov, Bratislava, SPN 1990.

Kontaktní adresa: Hashim Habiballa katedra informatiky a počítačů Přírodovědecká fakulta Ostravské Univerzity 30.dubna 22, 701 03 Ostrava 1, Česká Republika tel.: +420596160213, e-mail: habiballa@volny.cz, www: http://www.volny.cz/habiballa/