Programovací techniky
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
X33PTE | Z,ZK | 4 | 2+2s | česky |
- Přednášející:
- Jan Faigl (gar.)
- Cvičící:
- Jan Faigl (gar.), Vojtěch Vonásek
- Předmět zajišťuje:
- katedra kybernetiky
- Anotace:
-
Předmět Programovací techniky má dva základní cíle: (a) rozbor některých často používaných algoritmů a jejich složitostní analýzu a (b) prezentaci základů softwarového inženýrství jako nástroje pro řízení vývoje složitých počítačových aplikací. Představuje pohled na tvorbu softwaru jako na složitý proces s potřebou systematického přístupu.
- Požadavky:
-
Podmínkou udělení zápočtu je vypracování a obhájení úloh.
Webove stránky předmětu: http://lynx1.felk.cvut.cz/pte/
- Osnova přednášek:
-
1. Úvod do problematiky, vývoj a přehled programovacích technik
2. Základy teorie složitosti, polynomiální a nepolynomiální problémy
3. Rekurzivní programování, rekurzivní a reentrantní moduly
4. Datové struktury, jejich implementace
5. Algoritmy řazení, třídění a vyhledávání
6. Algoritmy hašování, indexace
7. Algoritmy komprese dat, ztrátová vs. bezeztrátová komprese, Shannonův teorém
8. Metadata a XML - základní koncepty a pravidla
9. Paralelní/pseudoparalelní procesy a jejich spolupráce, synchronizace, sdílení prostředků
10.Paralelní programování
11. Základy softwarového inženýrství, softwarová „fyzika“
12. Specifikace požadavků na software, typy specifikací
13. Strukturovaná analýza a návrh systému, objektově-orientovaná analýza a návrh systému - základy
14. Vývoj a metodika řízení komplexních softwarových projektů
- Osnova cvičení:
-
1. Úvod k úlohám samostatně řešeným v pracovních skupinách
2. Zadání úloh prvního okruhu (úlohy řazení a jejich složitost)
3. Samostatné řešení úloh prvního okruhu (1)
4. Samostatné řešení úloh prvního okruhu (2)
5. Prezentace a oponentura výsledků prvního okruhu
6. Zadání úloh druhého okruhu (úlohy paralelního programování)
7. Samostatné řešení úloh druhého okruhu (1)
8. Samostatné řešení úloh druhého okruhu (2)
9. Prezentace a oponentura výsledků druhého okruhu
10. Zadání úloh třetího okruhu (úlohy analýzy systémů)
11. Samostatné řešení úloh třetího okruhu (1)
12. Samostatné řešení úloh třetího okruhu (2)
13. Prezentace a oponentura výsledků třetího okruhu
14. Demonstrace distribuovaného multiagentního systému
- Cíle studia:
- Studijní materiály:
-
[1] Wirth, N.: Algorithm + Data Structures = Program. Prentice-Hall, New Jersey, 1975
[2] Louden, Kenneth, C.: Programming Languages. Principles and Practice. PWS-Kent, Massachusetts, 1993
[3] Jalote, Pankaj: An Integrated Approach to Software Engineering. Springer-Verlag, New York, 1997
[4] Wróblewski, Piotr: Algoritmy. Datové struktury a programovací techniky. Computer Press 2004. ISBN: 80-251-0343-9
- Poznámka:
-
Rozsah výuky v kombinované formě studia: 14+6
Typ cvičení: s, c, p
Předmět je nabízen také v anglické verzi.
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Kybernetika a měření- strukturované studium (povinně volitelný předmět)