B_Prg Programování

Vysoká škola finanční a správní
léto 2011
Rozsah
2/2. 14 hodin/semestr. 7 kr. Ukončení: zk.
Vyučující
doc. RNDr. Jan Lánský, Ph.D. (cvičící)
doc. RNDr. Pavel Töpfer, CSc. (cvičící)
Garance
doc. RNDr. Pavel Töpfer, CSc.
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: Po 10:30–11:14 E303PC, Po 11:15–12:00 E303PC, P. Töpfer
B_Prg/pAPH: Po 8:45–9:29 E304, Po 9:30–10:15 E304, P. Töpfer
B_Prg/vAPH: Pá 18. 2. 15:30–17:00 DELL ROOM E302PC, 17:15–18:45 DELL ROOM E302PC, Pá 4. 3. 17:15–18:45 DELL ROOM E302PC, Pá 1. 4. 17:15–18:45 DELL ROOM E302PC, Pá 6. 5. 15:30–17:00 DELL ROOM E302PC, 17:15–18:45 DELL ROOM E302PC, So 7. 5. 11:30–13:00 DELL ROOM E302PC, J. Lánský
Předpoklady
Výuka bezprostředně navazuje na předmět Úvod do programování ze zimního semestru. Předpokládá se znalost učiva z předmětu Úvod do programování a praktická zručnost při ladění jednoduchých programů v Pascalu na počítači.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
Pokračování základního kurzu programování ze zimního semestru pro posluchače 1. ročníku bakalářského studia oboru Aplikovaná informatika. Cílem předmětu je rozšířit znalosti prostředků programovacího jazyka (rekurze, dynamicky alokované proměnné), prohloubit znalosti základních algoritmů a programovacích technik (efektivita algoritmů, třídicí algoritmy, grafové algoritmy, dynamické datové struktury) a upevnit praktickou zručnost při návrhu a tvorbě programů. Cíl předmětu platí i pro kombinované studium.
Osnova
  • Tato osnova je určena pro prezenční studium, průběh výuky pro kombinované studium je uveden ve studijních materiálech formou metodického listu (ML).
  • Obsah přednášek:
  • 1. Modulární programování, unity. Unit CRT.
  • 2. Dynamicky alokované proměnné. Dynamické datové struktury.
  • 3. Lineární spojové seznamy - 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í stromy - reprezentace, průchod. Notace aritmetických výrazů, vyhodnocování, převody.
  • 8. Vyhledávací stromy. Vyvážené stromy. Obecné stromy.
  • 9. Metody ukládání a vyhledávání dat - přehled. Hešování. 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á litreratura
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2001
  • P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna 1998
  • Další zdroje
  • www.vsfs.cz/knihovna
  • www.knihovna.vsfs.cz/info/volne_eiz.html
  • IS VŠFS → osobní administrativa → ProQuest
Metody hodnocení
Typ výuky: 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.
Rozsah povinné účasti ve výuce: 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.
Způsob zakončení předmětu: Předmět je zakončen zápočtem a zkouškou.
Zápočet osvědčuje splnění stanovených studijních povinností. K získání zápočtu se požaduje:
1. samostatné vypracování dvou zápočtových programů ve stanovených termínech (odevzdává se zdrojový text odladěného programu a dokumentace k programu),
2. pravidelná aktivní účast na výuce - je vyžadována minimálně 75% účast na cvičeních (více absencí lze nahradit vypracováním domácích úkolů).
Zkouška se skládá z písemné a ústní části. V písemné části je úkolem napsat proceduru, funkci nebo jednoduchý program řešící zadaný problém. V ústní části zkoušky se požadují znalosti programovacího jazyka, algoritmů a programovacích technik v rozsahu přednášky (viz sylabus uvedený výše).
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Prezentace k přednáškám v PowerPointu a ukázkové programy z přednášek i ze cvičení jsou k dispozici na Internetu. Jsou doplňovány průběžně po každé přednášce.
Další komentáře
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, 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 2024, léto 2025.