Vyučující
|
-
Švec Vlastimil, prof. PhDr. CSc.
-
Viktorin Adam, Ing. Ph.D.
-
Kadavý Tomáš, Ing. Ph.D.
|
Obsah předmětu
|
Témata: 1. Algoritmy 2. Přehled programovacích jazyků 3. Formální jazyky a gramatiky 4. Formální modely výpočtu 5. Výpočetní složitost a komplexita 6. Případové studie komplexních úloh 7. Datové struktury 8. Řadicí a třídící algoritmy 9. Vyhledávací algoritmy 10. Nekonvenční výpočetní postupy 11. Teorie návrhu software - návrhové vzory 12. Teorie návrhu software - řízení softwarových projektů 13. Testování SW 14. Verzovací systémy
|
Studijní aktivity a metody výuky
|
nespecifikováno
|
Předpoklady |
---|
Odborné znalosti |
---|
Znalosti z oblasti: Základy programování Teorie programu Algoritmizace a datové struktury Objektové programování |
Znalosti z oblasti: Základy programování Teorie programu Algoritmizace a datové struktury Objektové programování |
Výsledky učení |
---|
Student umí definovat a popsat základní principy algoritmizace, programovacích jazyků a jejich vlastností. |
Student umí definovat a popsat základní principy algoritmizace, programovacích jazyků a jejich vlastností. |
Student rozumí formálním jazykům, gramatikám a modelům výpočtu, včetně konečných automatů a Turingova stroje. |
Student rozumí formálním jazykům, gramatikám a modelům výpočtu, včetně konečných automatů a Turingova stroje. |
Student má znalosti o výpočetní složitosti a kombinatorických algoritmech, včetně jejich praktických aplikací. |
Student má znalosti o výpočetní složitosti a kombinatorických algoritmech, včetně jejich praktických aplikací. |
Student rozumí principům a aplikacím nekonvenčních výpočetních postupů a heuristických algoritmů. |
Student rozumí principům a aplikacím nekonvenčních výpočetních postupů a heuristických algoritmů. |
Student umí vysvětlit teorii návrhu software, včetně návrhových vzorů, řízení softwarových projektů a testování softwaru. |
Student umí vysvětlit teorii návrhu software, včetně návrhových vzorů, řízení softwarových projektů a testování softwaru. |
Odborné dovednosti |
---|
Student dokáže navrhnout a implementovat algoritmy pro řešení konkrétních problémů. |
Student dokáže navrhnout a implementovat algoritmy pro řešení konkrétních problémů. |
Student umí aplikovat teorii formálních jazyků a modelů výpočtu v praktických situacích. |
Student umí aplikovat teorii formálních jazyků a modelů výpočtu v praktických situacích. |
Student dokáže analyzovat a vyhodnotit složitost různých algoritmů. |
Student dokáže analyzovat a vyhodnotit složitost různých algoritmů. |
Student má dovednosti využít nekonvenční výpočetní postupy a heuristiky ve výukovém procesu. |
Student má dovednosti využít nekonvenční výpočetní postupy a heuristiky ve výukovém procesu. |
Student je schopen navrhovat, vyvíjet a testovat softwarové aplikace, přičemž zdůrazňuje nejlepší praktiky v oblasti návrhu a testování softwaru. |
Student je schopen navrhovat, vyvíjet a testovat softwarové aplikace, přičemž zdůrazňuje nejlepší praktiky v oblasti návrhu a testování softwaru. |
Doporučená literatura
|
-
Chytil, Michal. Automaty a gramatiky. 1. vyd. Praha : SNTL, 1984.
-
Vaníček J., Papík M., Pregl R., Vaníček T. Teoretické základy informatiky. Alfa Publishing, 2006.
-
Wróblewski, Piotr. Algoritmy : datové struktury a programovací techniky. Vyd. 1. Brno : Computer Press, 2004. ISBN 80-251-0343-9.
|