Detail předmětu

Teoretická informatika

FEKT-MTINAk. rok: 2019/2020

Objektově orientovaný návrh. Abstraktní datové typy, orientované a neorientované grafy, způsoby reprezentace grafu. Deterministické a nedeterministické automaty. Datové struktury a objekty. Kostra grafu, hledání cesty v grafu. Strojové učení. Paralelní, sekvenční a náhodné algoritmy. Distribuované algoritmy. Optimalizace, genetické algoritmy.

Jazyk výuky

čeština

Počet kreditů

6

Výsledky učení předmětu

Absolventi jsou schopni návrhu a implementace různých forem abstraktních datových typů a jeho aplikaci na řešení konkrétních problémů. Pro jejich řešení si umí použít lineární, stromové a grafové datové struktury, dále pak vyhledávat v datových strukturách a využít genetické algoritmy pro prohledávání stavového prostoru a optimalizaci.

Prerekvizity

Jsou požadovány znalosti na úrovni bakalářského studia.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování zahrnují přednášky, cvičení na počítači a laboratoře. Předmět využívá e-learning (Moodle). Student odevzdává jeden samostatný projekt.

Způsob a kritéria hodnocení

závěrečná zkouška

Osnovy výuky

1. Reprezentace informace, objektově orientovaný návrh
2. Reprezentace informace, úvod do datových struktur
3. Spočitatelnost, složitost a teorie automatů
4. Reprezentace informace - lineární datové struktury a řazení
5. Reprezentace informace - stromové datové struktury
6. Reprezentace infomace - teorie grafů
7. Zpřístupnění informace - kostra grafu
8. Zpřístupnění informace - hledání cesty v grafu
9. Zpřístupnění informace - dolování znalostí z báze dat
10. Zpřístupnění informace - rozhodovací stromy
11. Zpřístupnění informace - genetické algoritmy
12. Zpřístupnění informace - genetické algoritmy II.
13. Vícevláknové výpočty, paralelizace
14. Závěrečná zkouška

Učební cíle

Cílem kurzu je seznámit studenty s teorií informace, variantami reprezentace informace, metodami zpřístupnění informace a způsoby dolování informací z dat s využitím výpočetních systémů.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Základní literatura

Aktuální studijní materiály jsou k dispozici v elearningu na adrese / Study materials are available at : https://www.vutbr.cz/elearning/ (CS)
Burget, R., Teoretická informatika - cvičení, VUT v Brně, 2014 (CS)
Burget, R., Teoretická Informatika, VUT v Brně, ISBN: 978-80-214-4897-1, 2013 (CS)

Doporučená literatura

Battista, G., Tollis, I.: Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1998. (EN)
Goodrich, T.M., Tamassia, R.: Data Structures and Algorithms in Java. John Wiley & Sons, 2000. (EN)
James Edward Keogh, Ken Davidson, Datové struktury bez předchozích znalostí, Computer Press, 2006 - Počet stran: 223 (CS)
Leuwen, J., Watanabe, O., Hagiya, M.: Exploring New Frontiers of Theoretical Informatics. Springer, 2000. (EN)

Elearning

Zařazení předmětu ve studijních plánech

  • Program EEKR-M1 magisterský navazující

    obor M1-TIT , 1 ročník, zimní semestr, povinný

  • Program EEKR-CZV celoživotní vzdělávání (není studentem)

    obor ET-CZV , 1 ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

Úvod do teoretické informatiky.
Základy teorie grafů.
Deterministické a nedeterministické algoritmy.
Datové struktury a objekty.
Teorie algoritmů.
Základy teorie front.
Teorie distribuovaných algoritmů a výpočty.
Stochastické procesy.
Teorie optimalizace a genetické algoritmy.
Vizualizace informací.
Vyhledávání informací.
Teorie zabezpečení informací.
Teorie komprese dat.

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

Úvod do programovacího jazyku JAVA.
Objekty a třídy.
Rozhraní a balíky.
Datové struktury a operátory.
Tvorba tříd a aplikací.
Tvorba a ošetření výjimek.
Tvorba appletu.
Grafika a animace.
Interaktivita a zpracování událostí.
Thready a multithreading.
Síťové programování.
Programovací nástroje jazyku JAVA.
Kontrolní cvičení a zápočet.

Elearning