B_Prg Programming

University of Finance and Administration
Winter 2008
Extent and Intensity
2/3. 6 credit(s). Type of Completion: zk (examination).
Teacher(s)
Mgr. Alan Eckhardt (seminar tutor)
doc. RNDr. Pavel Töpfer, CSc. (seminar tutor)
Guaranteed by
prof. RNDr. Ondřej Čepek, Ph.D.
Department of Computer Science and Mathematics – Departments – University of Finance and Administration
Contact Person: Lenka Bažantová
Prerequisites (in Czech)
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.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives (in Czech)
Anotace je stejná pro všechny formy studia.
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 doplnit znalosti složitějších prostředků programovacího jazyka (rekurze, dynamicky alokované proměnné), rozšířit znalosti algoritmů a programovacích technik (efektivita algoritmů, třídicí algoritmy, grafové algoritmy, dynamické datové struktury) a prohloubit praktickou zručnost při návrhu a tvorbě programů.
Syllabus (in Czech)
  • 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. Halda, operace na haldě, implementace haldy, heapsort.
  • 2. Modulární programování, unity. Unit CRT.
  • 3. Rekurze - princip, příklady, backtracking.
  • 4. Metoda rozděl a panuj - princip, příklady. Algoritmus quicksort.
  • 5. Prohledávání do hloubky a do šířky. Zrychlení backtrackingu - ořezávání, heuristiky.
  • 6. Dynamicky alokované proměnné. Dynamické datové struktury.
  • 7. Lineární spojové seznamy - operace, druhy seznamů, příklady použití.
  • 8. Binární stromy - reprezentace, průchod. Notace aritmetických výrazů, vyhodnocování, převody.
  • 9. Vyhledávací stromy. Vyvážené stromy. Obecné stromy.
  • 10. Metody ukládání a vyhledávání dat - přehled. Hešování. Třídění - algoritmy, složitost. K-tý nejmenší prvek.
  • 11. Grafy - základní pojmy, reprezentace. Implementace grafových algoritmů.
  • 12. Ukázky řešení úloh.
Literature
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995
  • P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna 1998
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2001
Assessment methods (in Czech)
Výuka předmětu je zakončena zápočtem a zkouškou. K získání zápočtu se požaduje:
1. Pravidelná účast na výuce - je nutná minimálně 50% účast na přednáškách a cvičeních.
2. Vypracování dvou zápočtových programů - posluchač musí samostatně vypracovat a ve stanoveném termínu odevzdat dva větší domácí úkoly. Na vypracování každého z nich bude vymezen čas 4-5 týdnů v průběhu semestru. Odevzdává se zdrojový text odladěného programu a dokumentace k programu.
3. Úspěšné absolvování praktického zápočtového testu u počítače - je třeba naprogramovat a odladit jednu úlohu podobného rozsahu a náročnosti, jakou měly domácí úkoly z předmětu Úvod do programování v zimním semestru. Na splnění zápočtového testu má každý dva pokusy (na posledních dvou cvičeních).
Zápočty se udělují na posledním cvičení v semestru.
Zkouška má písemnou a ústní část. V písemné části je úkolem napsat proceduru nebo funkci na práci s lineárními spojovými seznamy. U ústní části se požadují znalosti programovacího jazyka, algoritmů a programovacích technik v rozsahu přednášky (viz sylabus uvedený výše).
Language of instruction
Czech
Further comments (probably available only in Czech)
Information on the extent and intensity of the course: 14hodin/semestr.
Teacher's information
http://ksvi.mff.cuni.cz/~topfer/vsfs/
The course is also listed under the following terms Winter 2007, Summer 2008, Summer 2009, Summer 2010, Winter 2010, Summer 2011, Winter 2011, summer 2012, Winter 2012, Summer 2013, Summer 2014, Summer 2015, Summer 2016, Summer 2017, Summer 2018, Summer 2019, Summer 2020, Summer 2021, Summer 2022, Summer 2023, Summer 2024, Summer 2025.
  • Enrolment Statistics (Winter 2008, recent)
  • Permalink: https://is.vsfs.cz/course/vsfs/winter2008/B_Prg