Učitelství informatiky

4. Učitelství informatiky

Garantující pracoviště: Katedra softwaru a výuky informatiky
Oborový garant: doc. RNDr. Pavel Töpfer, CSc. (KSVI)
Garant za pedagogiku a psychologii: doc. PhDr. Isabella Pavelková, CSc. (KDF)

Doporučený průběh studia

1. rok studia

kód Předmět Kredity ZS LS
  Předměty společného základu        
NPGR003 Základy počítačové grafiky   5 2/2 Z+Zk
NSWI142 Webové aplikace   6 2/2 Z+Zk
NUIN014 Informační technologie 1 4 2/1 Z+Zk
NDIN015 Didaktika informatiky 1 3 0/2 Z
NDIN011 Didaktika uživatelského software I 1 2 0/2 Z
NDIN012 Didaktika uživatelského software II 1 2 0/2 Z
NDIN007 Pedagogická praxe z informatiky II   1   2 týdny Z

1 Předmět není vyučován v každém akademickém roce, je vyučován zpravidla jednou za dva roky. Zapište si jej podle toho v 1. nebo ve 2. roce svého studia.

2. rok studia

kód Předmět Kredity ZS LS
  Předměty společného základu        
NTIN090 Základy složitosti a vyčíslitelnosti   5 2/1 Z+Zk
NUIN014 Informační technologie 1 4 2/1 Z+Zk
NDIN015 Didaktika informatiky 1 3 0/2 Z
NDIN011 Didaktika uživatelského software I 1 2 0/2 Z
NDIN012 Didaktika uživatelského software II 1 2 0/2 Z
NUIN017 Speciální oborový seminář   2 0/2 Z
NDIN008 Pedagogická praxe z informatiky III   1 2 týdny Z  

 

Další doporučené volitelné předměty

kód Předmět Kredity ZS LS
NAIL069 Umělá inteligence I   5 2/1 Z+Zk
NPFL012 Úvod do počítačové lingvistiky   3 2/0 Zk
NSWI072 Algoritmy komprese dat   3 2/0 Zk
NPGR004 Fotorealistická grafika   5 2/2 Z+Zk
NMAI042 Numerická matematika   6 2/2 Z+Zk
NPRG003 Metodika programování a filozofie programovacích jazyků   3 2/0 Zk
NUOS008 Seminář z počítačových aplikací   3 0/2 Z

Státní závěrečná zkouška

Požadavky znalostí ke státní závěrečné zkoušce z informatiky a didaktiky informatiky

Odborná témata

1. Zobrazení dat v počítači
Zobrazení celých a reálných čísel v počítači, algoritmy základních početních operací. Reprezentace znaků a řetězců. Implementace datových struktur (pole, záznamy, množiny).

2. Principy počítačů, operačních systémů a počítačových sítí
Architektury počítačů. Typické instrukce strojového kódu. Přerušovací systémy. Paměťové systémy. Sběrnice, způsob připojení a programové obsluhy typických periférií. Role a základní úkoly operačního systému, příklady konkrétních operačních systémů (Windows, Unix). Správa prostředků, algoritmy prevence uváznutí. Popis paralelismu a synchronizace procesů. Počítačové sítě, standard ISO, TCP/IP, Internet, elektronická pošta.

3. Datové a řídicí struktury programovacích jazyků (programátorský a implementační pohled)
Jednoduché a strukturované datové typy. Podprogramy, komunikace podprogramu s okolím (globální proměnné, parametry, typy předávání parametrů, moduly a separátní kompilace). Porovnání vybraných programovacích jazyků z hlediska jejich datových a řídicích struktur. Principy překladu programovacích jazyků, překlad a interpretace, podprogramy a makra. Formální popisy syntaxe programovacích jazyků.

4. Metodika programování
Vývoj metodiky programování. Strukturované programování, modulární a objektové programování, abstraktní datové typy. Událostmi řízené programy. Logické a funkcionální programování. Dětské programovací jazyky.

5. Správnost a složitost algoritmů
Částečná správnost algoritmu, konečnost algoritmu, invarianty. Časová, paměťová, asymptotická složitost algoritmu - nejhorší, nejlepší, průměrný případ (definice jednotlivých pojmů). Odhad asymptotické složitosti jednoduchých algoritmů. Časová a prostorová složitost - vztah determinismu a nedeterminismu. Polynomiální převeditelnost, P- a NP-problémy, NP-úplnost.

6. Základní programovací techniky a návrh datových struktur
Různé reprezentace abstraktních datových typů (množina, zásobník, fronta, prioritní fronta). Složitost vyhledávání, vkládání a vypouštění prvků, hledání minimálního a k-tého nejmenšího, průchod všemi prvky. Reprezentace faktorové množiny. Hashování. Reprezentace aritmetických výrazů a algoritmy pro výpočet jejich hodnoty. Obecnější metody návrhu efektivních algoritmů (metoda rozděl a panuj, dynamické programování atd.).

7. Algoritmy vnitřního a vnějšího třídění
Dolní odhady časové složitosti úlohy vnitřního třídění pro nejhorší a průměrný případ. Jednoduché algoritmy kvadratické složitosti. Třídění sléváním, heapsort, quicksort, přihrádkové třídění. Odlišnost vnějšího třídění od vnitřního třídění, základní myšlenky, přirozené slučování, polyfázové třídění.

8. Základní numerické algoritmy
Řešení soustav lineárních rovnic - metody přímé a iterační, metody řešení nelineárních rovnic. Interpolace funkcí polynomy, jiné metody aproximace funkcí. Numerická integrace.

9. Teorie automatů a jazyků
Chomského hierarchie, charakterizace jejich tříd pomocí gramatik a automatů. Různé ekvivalentní definice regulárních jazyků. Nerodova věta. Uzávěrové vlastnosti regulárních jazyků. Bezkontexové gramatiky, derivační stromy, normální tvary gramatik, zásobníkové automaty, uzávěrové vlastnosti, deterministické jazyky.

10. Kombinatorika a teorie grafů
Základní pojmy teorie grafů, různé možnosti datové reprezentace grafu. Základní kombinatorické pojmy a metody. Základní kombinatorické a grafové algoritmy (např. nejkratší cesta v grafu, minimální kostra, prohledávání grafu, určování různých typů souvislosti, acykličnost grafu, toky v sítích, maximální párování v grafech).

11. Vyčíslitelnost
Algoritmicky vyčíslitelné funkce, jejich vlastnosti, Churchova teze. Rekursivní a rekursivně spočetné množiny a jejich vlastnosti. Algoritmicky neřešitelné problémy. Gödelova věta o neúplnosti.

12. Informační systémy
Organizace souborů - sekvenční, indexsekvenční, indexované, hashovací metody, B-stromy. Databázové systémy - problematika návrhu, konceptuální, logické a fyzické schéma. Relační datový model. Pojem dotazu, dotazovací jazyky (SQL).

13. Počítačová geometrie a grafika
Algoritmy 2D grafiky: kreslení čar, vyplňování, půltónování a rozptylování barev. Barevné systémy, zobrazování barev na počítači. Transformace a projekce. 3D grafika: metody reprezentace 3D scén, zobrazovací algoritmy, výpočet viditelnosti.

14. Umělá inteligence
Heuristické metody řešení úloh. Neuronové sítě. Programování her - algoritmus minimaxu, alfa-beta prořezávání.

15. Vybrané oblasti použití počítačů
Databázové systémy, programy pro přípravu textů, programy pro přípravu prezentací, tabulkové kalkulátory, počítačová grafika a animace, formáty multimediálních souborů (grafika, audio, video). WWW - vyhledávání informací. Počítačové modelování a simulace. Kryptografie s veřejným klíčem, elektronický podpis.

Didaktická témata

Metodicky zajímavý krátký výklad jednoho z předem známých témat. V každém akademickém roce bude vypsáno 25 konkrétních témat. Hodnotí se především metodický přístup k výkladu a vystižení podstaty problematiky.

1. Jednoduchý třídící algoritmus

2. Quicksort

3. Heapsort

4. Vnější třídění

5. Rekursivní podprogramy

6. Typy předávání parametrů v Pascalu

7. Reflexívní, symetrický a tranzitivní uzávěr

8. Dynamicky a staticky alokované proměnné v Pascalu

9. Práce s lineárním spojovým seznamem, srovnání s polem

10. Vyhledávání v poli (např. binární, užití zarážky)

11. Průchod stromem do hloubky a do šířky (zásobník, fronta)

12. Vyhledávání, vkládání a vypouštění v binárním vyhledávacím stromu

13. Problém stabilních manželství

14. Prohledávání s návratem (backtracking)

15. Srovnání programovacích jazyků Pascal a C

16. Nalezení minimální kostry grafu

17. Seznamy v Prologu a jednoduché predikáty pro práci s nimi

18. Algoritmus minimaxu

19. Algoritmy vyčíslení hodnoty aritmetického výrazu

20. Výpočet hodnoty polynomu Hornerovým schématem

21. Algoritmus ,,binárního'' umocňování a násobení

22. Dijkstrův algoritmus

23. Určení délky nejdelší rostoucí vybrané podposlounosti

24. Generování všech permutací v lexikografickém uspořádání

25. Statické a virtuální metody a jejich srovnání