Návrh projektu v IP 2016, okruh A1 Kvalitní vzdělávací činnost, části A1.1 a A1.2
Vybrané výstupy projektu
- Využití tutorů
- Výukové materiály
- Přípravný kurz matematiky 2016
- Přípravný kurz programování 2016
- Využití vizualizačních nástrojů při výuce programování
- Využití přenosné prezentační techniky
- Analýza příčin neúspěšnosti ve studiu matematiky
- Analýza příčin neúspěšnosti ve studiu programování
Využití tutorů
Tutoři jsou zkušení studenti, kteří jsou po celý semestr k dispozici ostatním studentům, aby s nimi konzultovali a procvičovali látku ve vybraných předmětech. Tento projekt zahrnuje využití tutorů v letním semestru akademického roku 2015/2016 a v zimním semestru akademického roku 2016/2017. Tutoři poskytovali své služby standardně ve vymezených termínech (dnech, časech a místnostech), individuálně (po dohodě, e-mailem, po Skype apod.) a nově také formou chatu na portálu Moodle.
Využití tutorů na katedře matematiky
Tutoři byli k dispozici k následujícím předmětům:
- KMA/P113 Repetitorium matematiky (2 tutoři průměrně 2 hodiny týdně)
- KMA/P135 resp. P136 Úvod do matematiky (1 tutorka průměrně 3 hodiny týdně)
- KMA/P132 Úvod do infinitesimálního počtu (1 tutorka průměrně 1 hodinu týdně)
- KMA/P231 Lineární algebra a geometrie (1 tutorka průměrně 1 hodinu týdně)
- KMA/P232 Vybrané partie z matematiky (3 tutoři průměrně 4 hodiny týdně)
Využití tutorů na katedře informatiky
V letním semestru 2015/2016 byli k dispozici tři tutoři celkem minimálně 6 hodin týdně ve vymezených termínech pro předměty KI/PGL2 Programování II a KI/DSA Algoritmy a datové struktury. V zimním semestru 2016/2017 pak bylo k dispozici 5 nových tutorů celkem minimálně 6 hodin týdně ve vymezených termínech předmět KI/PGL1 Programování I.
Výukové materiály
V rámci přípravy výukových materiálů předmětů programování byl navržen nástroj pro vyznačování syntaxe zdrojových kódů. Vstupem aplikace jsou anotované zdrojové kódy, výstupem kód pro typografický systém LaTeX s vizuálně orientovaným značkováním, které lze převést do grafické podoby s vyznačením syntakticky i sémanticky významných míst.
Na rozdíl od existujících nástrojů se vkládají úseky skutečného (tj. přeložitelného) kódu, což snižuje pravděpodobnost překlepů a nechtěných deformací kódu. Nástroj také podporuje prostředky pro vzájemné provázání citovaného kódu s jeho popisem (řádkové odkazy, návěští apod.)
Použitelnost nástroje v praxi byla ověřena jeho použitím připravovaném glosáři základních termínů v oblasti programovacích jazyků (s optimalizací pro zobrazení na čtečkách elektronických knih).
Přílohy
V rámci předmětu KI/0187 Praktikum programování a algoritmizace byly studenty vytvořeny materiály zaměřené na vizualizaci některých třídících a vyhledávacích algoritmů. Materiály obsahují jak jednoduchá videa, kde jsou představeny principy těchto algoritmů, tak i doplňkové zdrojové kódy, v nichž je ukázán i zápis těchto algoritmů v různých programovacích jazycích.
V rámci přípravy na výuku předmětu KI/DSA Algoritmy a datové struktury vznikly názorné prezentace zaměřené na vizualizaci některých vybraných stromových struktur. Tyto materiály obsahují soubory ve formátu pdf, ve kterých je vysvětlen základní princip vytváření a odstraňování jednotlivých stromových struktur, které se využívají pro rychlé vyhledávání informací, a to především v databázových systémech.
K předmětu KMA/P113 Repetitorium matematiky byly do pomocného učebního textu se souborem testů doplněny výsledky.
K předmětu KMA/P135 resp. P136 Úvod do matematiky byly vytvořeny soubory typových úloh (po jednotlivých týdnech cvičení) s výsledky.
K předmětu KMA/P204 resp. P227 Teorie grafů byla vytvořena sbírka úloh.
K předmětu KMA/P231 Lineární algebra a geometrie byly připraveny následující materiály, které jsou po přihlášení rovněž k dispozici na portálu Moodle zde. Celý kurz je rozdělen do tematických celků, které jsou dále děleny na dílčí kapitoly, které téměř odpovídají jednotlivým přednáškám v průběhu semestru.
- Soustavy lineárních rovnic
Definice soustavy lineárních rovnic, homogenní soustavy, (rozšířené) matice koeficientů. Popis Gauss-Jordanovy eliminační metody. - Matice
Zavedení operace sčítání, násobení skalárem a násobení matic. Definice inverzní matice, invertibilní matice. Algoritmus konstrukce inverzní matice. Hodnost matice, transponovaná matice. - Determinanty
Definice determinantu, výpočet determinantu. Sarrusovo pravidlo. Cramerovo pravidlo. - Vektorové prostory
Geometrické vektorové prostory, sčítání vektorů, násobení skalárem, velikost, směr, orientace. Skalární součin. Definice vektorového prostoru, podprostoru. Báze a dimenze vektorového prostoru. Vektorové prostory se skalárním součinem. - Aplikace LA do analytické geometrie
- Lineární zobrazení
Lineární zobrazení. Vlastní číslo, vlastní vektor. Diagonalizace a její aplikace.
Přípravný kurz matematiky 2016
Na přípravný kurz matematiky se přihlásilo 32 studentů, kteří byli rozděleni na dvě výukové skupiny. Během čtyř dnů, kdy kurz probíhal, studenti psali a rozebírali vzorové testy k předmětu Repetitorium matematiky. Z přihlášených studentů jich 14 splnilo zápočet již v úvodní blokové výuce, dalších 13 získalo zápočet během výuky v semestru. 5 jich bylo neúspěšných (1 nesplnil zápočet a 4 zanechali studia).
Vysoká úspěšnost absolventů Přípravného kurzu matematiky v předmětu Repetitorium matematiky (27 z 32) je jistě zapříčiněna tím, jací studenti se na tuto akci přihlašují (mají zájem o studium).
Využití vizualizačních nástrojů při výuce programování
Studenti bez výrazné předchozí zkušenosti s programováním obvykle mají problém jak s pochopením algoritmů, tak i s jejich vlastním zápisem v daném programovacím jazyce, syntaxí a sémantikou daného jazyka. Jako vhodné se proto jeví použití vizualizačních nástrojů ukazujících různé obecné programovací vzory, tok daného kódu, případně použití pseudokódu. Standardní nástroje běžně dostupné v námi používaném Visual Studiu, jako je např. Debugger či generátor třídních diagramů, jsou spíše vhodné pro pokročilejší programátory než pro studenty začínající s programováním.
Z tohoto důvodu byl pořízen nástroj Code Rocket, který je jako modul začleněn do námi používaného Visual Studia. Nástroj umožňuje vyučujícímu na cvičeních vizualizovat různé části programu a implementované algoritmy jak pomocí diagramů, tak i pomocí pseudokódu. Navíc je možné pomocí tohoto nástroje vyvíjet elementární aplikace i vizuálně a nechat si vlastní kód v daném programovacím jazyce generovat.
Využití přenosné prezentační techniky
Koncem roku 2016 byly pořízeny přenosný dataprojektor a přenosný vizualizér. Oba prezentační nástroje by měly primárně sloužit přímo ve výuce. I z tohoto důvodu byl nakonec pořízen vizualizér namísto tabletu, který byl uveden v projektovém záměru. Grafický tablet totiž neumožňuje interaktivní vytváření a prezentaci grafických výstupů (schémat, diagramů) přímo během výuky. Vizualizér navíc není omezen na prezentaci 2D materiálů.
Interaktivní využití ovlivnilo i výběr dataprojektoru. Pořízen byl proto dataprojektor s moderní LED technologií, která výrazně snižuje hmotnost dataprojektoru při výrazně vyšší životnosti. Přenosný dataprojektor tak lze operativně využívat pro prezentaci v místnostech, kde není stabilně k dispozici dataprojektor, resp. k dodatečné projekci v místnostech s audiovizuální technikou (prezentovat lze i bez propojení s počítačem). Lze tak například prezentovat zároveň výukový materiál a průběžně vytvářený zdrojový kód.
Analýza příčin neúspěšnosti ve studiu matematiky
Tato analýza je zaměřena na příčiny neúspěšnosti plnění zápočtu u předmětů KMA/P135 a KMA/P136 Úvod do matematiky, která je poměrně vysoká (více než 60 %). Jednou z příčin jsou jistě rozdílné a nedostatečné znalosti studentů ze středoškolské matematiky, na které se navazuje. Opakování středoškolské matematiky se věnuje předmět KMA/P113 Repetitorium matematiky, v němž si mají studenti potřebnou látku připomenout. Tento předmět však probíhá souběžně s předmětem Úvod do matematiky a jeho úspěšnost je zhruba 63 %.
Za neúspěšností tohoto předmětu však stojí také fakt, že studenti na výuku vůbec nedochází nebo přestanou docházet v průběhu semestru (takových je 38,5 %). Studentů, kteří nesplní zápočet, je tak sice celkově 60,4 %, ale ze studentů, kteří se výuky účastnili pravidelně a splnili docházku, neuspělo jen 35,5 %.
Analýza příčin neúspěšnosti ve studiu programování
V první fázi projektu bylo provedeno statistické šetření výuky programovacích jazyků na středních školách z pohledu studentů našeho prvního ročníku (s využitím elektronického zpracování programem sdaps). Šetření ukázalo velké rozdíly mezi školami s informatickým zaměřením (9 respondentů) a školami ostatními (28 respondentů).
Výuka na informatických školách má rozsah vyšší než 40 hodin (jen 11 % s rozsahem 20-40 hodin) a studenti se seznámí s téměř všemi druhy vytvářených programů (včetně GUI a interaktivních webových služeb: podíl vyšší než 67 %). Studenti také relativně často programovali i mimo výuku (77 %) a seznámili se i s vyspělejšími partiemi, které tvoří základ výuky v 2. semestru (Programování II, Algoritmy a datové struktury).
V případě studentů jiných škol je situace výrazně horší (přestože většina studentů tj. 57 % absolvovala gymnázia). Programování se na těchto školách vůbec nevyučuje resp. jen ve velmi malém rozsahu (do 40 hodin, 22 %). Pokud se vyučuje, tak se často využívá relativně zastaralý Pascal (cca 1/3), a i v případě moderních OOP jazyků (C#, Java) je výuka omezena na jejich procedurální část (ve více než ve 2/3 případů!). Poněkud lepší je jen znalost HTML (cca 68 %, u odborných škol je však 100 %).
Základním problémem úvodní výuky programování tak stále zůstávají velké rozdíly mezi studenty včetně velkého počtu studentů, kteří nemají s programováním žádné zkušenosti (cca 50 %).
Určitou výhodou je relativně dobrá pozice jazyka C# (základní programovací jazyk našeho bakalářského studia), se kterým se seznámilo cca 22 % studentů (je to více než polovina studentů s dostatečnou výukou programování, pokud zohledníme studenty, kteří se seznámili s více jazyky).
Přílohy