Detail předmětu

Teoretická informatika

FEKT-MTINAk. rok: 2012/2013

Teoretické modely, orientované a neorientované grafy, způsoby reprezentace grafu. Deterministické a nedeterministické automaty. Datové struktury a objekty. Paralelní, sekvenční a náhodné algoritmy. Systémy hromadné obsluhy. Distribuované algoritmy. Stochastické procesy. Optimalizace, genetické algoritmy. Vizualizace a vyhledávání informací. Teorie zabezpečení dat - kryptografie, steganografie.

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í závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Závěrečná zkouška tvoří 70 % bodového hodnocení, dále 15 % tvoří půlsemestrální zkouška a zbylé body 15 % jsou za aktivitu v rámci cvičení. V rámci cvičení je požadován zápočtový test dovedností.

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é programování
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)

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)

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

  • Program EEKR-M magisterský navazující

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

  • 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.