Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (18.01.2018)
Základní kurs algoritmizace a programování pro studenty 1. ročníku bakalářského studia
informatiky a učitelství informatiky. Obsahem kursu jsou principy algoritmizace, základní algoritmy,
datové struktury a programovací techniky, typické prostředky programovacích jazyků, praktický návrh a ladění programů.
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (09.10.2017)
Basic course of programming for students in the 1st year of study in study programs "Computer
Science" and "Computer Science Education". The course includes basic algorithms
and data structures, programming language, design of programs and practical programming.
Literatura
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (02.02.2018)
P. Töpfer: Algoritmy a programovací techniky, Prometheus 1995, 2. vyd. 2007
J. Drózd, R. Kryl: Začínáme s programováním, Grada 1992
N. Wirth: Algoritmy a štruktúry údajov, Alfa 1987
Sylabus -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (18.01.2018)
a) Základních algoritmy, datové struktury a programovací techniky
základní představa o efektivitě algoritmů
dělitelnost čísel, Eukleidův algoritmus
test prvočíselnosti, Eratosthenovo síto
Hornerovo schéma
rozklad celého čísla na cifry, poziční číselné soustavy
algoritmy vyhledávání v poli (sekvenční, binární, zarážka)
řazení dat v poli (vnitřní třídění)
práce s maticemi (základní operace)
implementace zásobníku a fronty v poli
aritmetika s vyšší přesností ("dlouhá čísla")
použití rekurze, backtracking, metoda "rozděl a panuj"
prohledávání do hloubky a do šířky
algoritmus minimaxu
halda a operace s haldou
faktorová množina
dynamické datové struktury, operace s lineárními spojovými seznamy
jednoduché a strukturované datové typy (čísla, char, boolean, výčtový typ, pole, záznam, znakový řetězec)
jednoduché a strukturované příkazy (dosazovací příkaz, if, while, repeat, for, case, with)
textové soubory (včetně formátování výstupních dat)
procedury a funkce (lokalita identifikátorů, způsoby předávání parametrů, rekurze)
příkazy skoku
ukazatele a dynamicky alokované proměnné
základní parametry překladače (paměťová omezení, přepínače provádění kontrol).
c) Práce v integrovaném vývojovém prostředí, tvorba a ladění programů - prakticky procvičena na příkladě integrovaného vývojového prostředí Turbo Pascal nebo Free Pascal (editor, překlad, výpočet, ladicí prostředky - trasování, sledování hodnot proměnných atd.).
Poslední úprava: Adam Dingle, M.Sc. (07.10.2017)
1. Algorithms and data structures
Euklid's algorithm
Sieve of Eratosthenes
Horner's schema
searching in array (binary, sentinel)
heap operation
in-memory sorting, lower estimation of complexity in the worst case