B_Prg Programování

Vysoká škola finanční a správní
léto 2024
Rozsah
2/2. 16 hodin KS/semestr. 6 kr. Ukončení: zk.
Vyučující
Ing. Renata Janošcová, Ph.D. (cvičí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: Ivana Plačková
Rozvrh seminárních/paralelních skupin
B_Prg/cAPH: Út 14:00–14:44 E306, Út 14:45–15:30 E306, J. Lánský
B_Prg/pAPH: Út 12:15–12:59 E306, Út 13:00–13:45 E306, J. Lánský
B_Prg/vAPH: Pá 9. 2. 14:00–15:30 E303PC, 15:45–17:15 E303PC, So 24. 2. 9:45–11:15 E303PC, 11:30–13:00 E303PC, So 9. 3. 9:45–11:15 E303PC, 11:30–13:00 E303PC, Pá 22. 3. 14:00–15:30 E303PC, 15:45–17:15 E303PC, R. Janošcová
Předpoklady
B_UPg Úvod do programování
Podmínkou pro zakončení tohoto předmětu je ukončení předmětu B_UPg.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
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.
Výstupy z učení
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. Dynamická alokace paměti, jednosměrný lineární spojový seznam
  • 2. Implementace zásobníku a fronty pomocí seznamů, obousměrný lineární spojový seznam, cyklický seznam
  • 3. Stromy, Binární vyhledávací strom, vyvážený strom, AVL strom
  • 4. Binární strom jako slovník, průchod stromem do hloubky a do šířky, vyhodnocování aritmetického výrazu
  • 5. MergeSort a QuickSort
  • 6. Heapsort a vnější třídění
  • 7.
  • B-stromy a trie
  • . Hašovaní, Blockchain (technologie Bitcoinu)
  • 9. Grafy, souvislost grafu, existence kružnice
  • 10. Kostra grafu, bipartijnost grafu
  • 11. Nalezení nejkratší cesty v grafu, vlna, Dijkstra
  • 12. Grafické uživatelské rozhraní
Literatura
    povinná literatura
  • Wróblewski, P.: Algoritmy, Brno: Computer Press, 2015. ISBN:978-80-251-4126-7
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vyd. 2007
    doporučená literatura
  • 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í úloh zadávaných na cvičení. Podmínky upřesní příslušný vyučující. 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 2016, léto 2017, léto 2018, léto 2019, léto 2020, léto 2021, léto 2022, léto 2023, léto 2025.