B_Prg Programování

Vysoká škola finanční a správní
léto 2016
Rozsah
2/2. 14 hodin KS/semestr. 7 kr. Ukončení: zk.
Vyučující
doc. RNDr. Jan Lánský, Ph.D. (cvičící)
Garance
doc. RNDr. Jan Lánský, Ph.D.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Ing. Barbora Ptáčková
Rozvrh seminárních/paralelních skupin
B_Prg/cAPH: St 14:00–14:44 E303PC, St 14:45–15:30 E303PC, J. Lánský
B_Prg/pAPH: St 12:15–12:59 E303PC, St 13:00–13:45 E303PC, J. Lánský
Předpoklady
B_UPg Úvod do programování
Podmínkou pro zakončení tohoto předmětu je úspěšné absolvování předmětu B_UPg.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Tento předmět je pokračováním základního kurzu programování pro posluchače prvního ročníku bakalářského studia Aplikované informatiky. Na konci tohoto kurzu bude student schopen:
- řešit větší algoritmické úlohy
- používat vybrané standardní algoritmy, jako jsou třídicí algoritmy, ukládání a vyhledávání dat, grafové algoritmy, dynamické datové struktury
- používat všechny běžné konstrukce programovacích jazyků, včetně rekurze a dynamických proměnných
- vytvářet a ladit programy v integrovaném vývojovém prostředí.
Osnova
  • 1. Modulární programování, unity. Unit CRT.
  • 2. Dynamicky alokované proměnné, ukazatel. Dynamické datové struktury.
  • 3. Lineární spojový seznam - operace, druhy seznamů, příklady použití.
  • 4. Rekurze - princip, příklady, backtracking.
  • 5. Prohledávání do hloubky a do šířky. Zrychlení backtrackingu - ořezávání, heuristiky.
  • 6. Metoda rozděl a panuj - princip, příklady. Algoritmus quicksort.
  • 7. Binární strom - reprezentace, průchod. Notace aritmetického výrazu, vyhodnocování, převody.
  • 8. Vyhledávací strom. Vyvážený strom. Vícecestný strom.
  • 9. Ukládání a vyhledávání dat - přehled metod. Hešovací tabulky. Třídění - algoritmy, složitost. K-tý nejmenší prvek.
  • 10. Grafy - reprezentace grafu v programu, základní grafové algoritmy.
  • 11. Implementace vybraných grafových algoritmů.
  • 12. Ukázky řešení úloh.
Literatura
    povinná literatura
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vyd. 2007
    doporučená literatura
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2001
  • P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna 1998
Výukové metody
Výuka probíhá formou přednášek a cvičení v prezenčním studiu a řízených skupinových konzultací v kombinovaném studiu. Minimální povinná účast na cvičeních v prezenčním studiu je 75%, na řízených skupinových konzultacích v kombinovaném studiu 50%. Studentům, kteří nesplní povinný rozsah účasti, budou v průběhu semestru nebo po jeho skončení zadány dodatečné studijní povinnosti.
Metody hodnocení
Předmět je zakončen zápočtem a zkouškou. Podmínkou pro udělení zápočtu je vypracování seminární práce a jednoho nebo dvou zápočtových programů, včetně písemné dokumentace. Zkouška se skládá z písemné části, v níž je úkolem napsat program, proceduru nebo funkci, a z ústní části. Požadují se znalosti programovacího jazyka, algoritmů a programovacích technik v rozsahu přednášky.
Navazující předměty
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Studijní text a ukázkové programy z přednášek i ze cvičení jsou k dispozici na Internetu (odkaz z webové stránky předmětu).
Další komentáře
Poznámka k ukončení předmětu: povinná seminární práce v rozsahu 5 - 8 stran
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2007, léto 2008, zima 2008, léto 2009, léto 2010, zima 2010, léto 2011, zima 2011, léto 2012, zima 2012, léto 2013, léto 2014, léto 2015, léto 2017, léto 2018, léto 2019, léto 2020, léto 2021, léto 2022, léto 2023, léto 2024, léto 2025.