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ódPředmětKredityZSLS
 Předměty společného základu    
NPGR003Počítačová grafika I 62/2 Z+Zk
NSWI142Webové aplikace 62/2 Z+Zk
NUIN014Informační technologie142/1 Z+Zk
NDIN015Didaktika informatiky130/2 Z
NDIN011Didaktika uživatelského software I120/2 Z
NDIN012Didaktika uživatelského software II120/2 Z
NDIN007Pedagogická 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ódPředmětKredityZSLS
 Předměty společného základu    
NTIN090Základy složitosti a vyčíslitelnosti 52/1 Z+Zk
NUIN014Informační technologie142/1 Z+Zk
NDIN015Didaktika informatiky130/2 Z
NDIN011Didaktika uživatelského software I120/2 Z
NDIN012Didaktika uživatelského software II120/2 Z
NUIN017Speciální oborový seminář 20/2 Z
NDIN008Pedagogická praxe z informatiky III 12 týdny Z 

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

kódPředmětKredityZSLS
NAIL069Umělá inteligence I 52/1 Z+Zk
NPFL012Úvod do počítačové lingvistiky 32/0 Zk
NSWI072Algoritmy komprese dat 32/0 Zk
NPGR004Počítačová grafika II 52/1 Z+Zk
NMAI042Numerická matematika 62/2 Z+Zk
NPRG003Metodika programování a filozofie programovacích jazyků 32/0 Zk
NUOS008Seminář z počítačových aplikací 30/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í

© 2013–2017 Univerzita Karlova, Matematicko-fyzikální fakulta. Design noBrother.
Za obsah odpovídá Studijní oddělení.