PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Informatika a didaktika informatiky - NSZU017 (Učitelství informatiky nMgr.)
Anglický název: Computer science and Didactics of Computer science
Zajišťuje: Studijní oddělení (32-STUD)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2021
Semestr: oba
E-Kredity: 0
Rozsah, examinace: 0/0, SZ [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Poznámka: student může plnit i v dalších letech
za splnění nejsou body
předmět lze zapsat v ZS i LS
Požadavky ke zkoušce
Poslední úprava: Mgr. Dina Novotná Obeidová (20.08.2021)

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. Hodnotí se především metodický přístup k~výkladu a~vystižení podstaty problematiky.

  • Vyhledávání v~poli (sekvenční, binární, pomocí zarážky)

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

  • Generování všech permutací v~lexikografickém uspořádání

  • Jednoduchý třídicí algoritmus

  • Quicksort

  • Heapsort

  • Vnější třídění

  • Rekurzivní podprogramy

  • Reflexívní, symetrický a~tranzitivní uzávěr

  • Práce s~lineárním spojovým seznamem, srovnání s~polem

  • Průchod stromem do hloubky a~do šířky (rekurze, zásobník, fronta)

  • Prohledávání s~návratem (backtracking)

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

  • Problém stabilních manželství

  • Algoritmus minimaxu

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

  • Nalezení minimální kostry grafu

  • Dijkstrův algoritmus

  • Určení délky nejdelší rostoucí vybrané podposloupnosti

  • Způsoby předávání parametrů procedur a~funkcí

  • Statické a~virtuální metody a~jejich srovnání

  •  
    Univerzita Karlova | Informační systém UK