Předmět: Algoritmy a datové struktury

» Seznam fakult » FP » KGD
Název předmětu Algoritmy a datové struktury
Kód předmětu KGD/ALG
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 4
Vyučovací jazyk Čeština
Statut předmětu Povinný, Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Dostupnost předmětu Předmět je nabízen přijíždějícím studentům
Vyučující
  • Šimůnková Martina, RNDr. Ph.D.
Obsah předmětu
Přednáška: 1. Co nás zajímá na algoritmech: důkaz správnosti, časová a paměťová složitost. 3. Algoritmus binárního vyhledání a logaritmická časová složitost; okrajově o binárních vyhledávacích stromech. 2. Řadící algoritmy: řazení výběrem (select sort), vkládáním (insert sort). Rychlejší algoritmy: merge sort a quick sort, metoda rozděl a panuj a rekurze. 4. Grafy a vybrané grafové algoritmy: nejkratší cesta v grafu, minimální kostra. 5. Prohledávání grafu do šířky (BFS) a do hloubky (DFS). Datové struktury fronta a halda. 6. Datové struktury: seznam, fronta, zásobník, halda. Operace (vložení prvku, odebrání prvku, aktualizace hodnoty) a jejich časová složitost. Použití v grafových algoritmech. Cvičení: Soutěže v programování pro studenty středních škol a žáky základních škol: kategorie P Matematické olympiády, Korespondenční seminář v programování, jejich organizace, webové stránky. Procvičování vyložené látky na úlohách soutěží v programování pro střední školy.

Studijní aktivity a metody výuky
Monologický výklad (přednáška, prezentace, vysvětlování), Dialogické metody (diskuze, rozhovor, brainstorming), Samostatná práce studentů (studium textů, literatury, problémové úkoly,výzkum, pisemná práce), Prezentace a obhajoba písemné práce, Studium metodou řešení problémů
  • Příprava na zápočet - 28 hodin za semestr
  • Účast na výuce - 42 hodin za semestr
  • Domácí příprava na výuku - 50 hodin za semestr
Výstupy z učení
Cílem předmětu je seznámit posluchače s hlavními teoretickými principy programování a algoritmického myšlení, nejpoužívanějšími algoritmy a datovými strukturami.
Absolventi předmětu získají přehled o soutěžích v programování pro studenty středních škol a žáky základních škol, seznámí se se základními algoritmy a datovými strukturami a naučí se je používat na řešení úloh.
Předpoklady
Praktická znalost základů logiky. Znalost základů programovacího jazyka Python a základních technik programování: cyklus, podmínka, práce s proměnnými, práce se vstupem a výstupem.

Hodnoticí metody a kritéria
Praktická demonstrace získaných dovedností, Rozhovor, Ústní prezentace samostatné práce studenta

Zápočet za vyřešené úlohy, písemně zpracované a ústně obhájené a za vyzkoušení z teorie. Podrobně na https://kma.fp.tul.cz/~simunkova/analyza/ads-2023-24/ads_zapocet_podminky.html
Doporučená literatura
  • MAREŠ, M., VALLA, T. Průvodce labyrintem algoritmů. CZ.NIC, z.s.p.o., 2017. ISBN 978-80-88168-19-5.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr