Předmět si klade za cíl seznámit posluchače se základy algoritmizace a začít u nich rozvíjet analytické myšlení. Posluchači budou během semestru vypracovávat zadané úlohy. Více v sekci Cvičení.
Účast na cvičeních je povinná. Detailní informace k jednotlivým cvičením budou uveřejňovány ve složce cvičení.
Účast na přednáškách je doporučená, ale na cvičení se vyžadují znalosti, které posluchač nabyl na přednáškách.
| Konzultační hodiny | Místnost | Poznámka | ||
|---|---|---|---|---|
| doc. Ing. Jiří Vokřínek, Ph.D. | po domluvě emailem | jiri.vokrinek@fel.cvut.cz | KN:E-333b | Přednášející |
| RNDr. Ladislav Serédi | po domluvě přes MS Teams nebo emailem | seredlad@fel.cvut.cz prosím používejte MS Teams | KN:E-429 | Cvičící Prezentace z cvičení |
Stuktura přednášek a jejich pořadí se může lišit.
Materiály mohou být aktualizovány – revidované materiály pro aktuální ZS 2024/2025 jsou označeny takto.
| 1 | 23.9.2025 | Úvod, proměnné a datové typy. <- prezentace, prezentace z minulé akreditace: Úvod, Proměnné a datové typy. Funkce., Řízení běhu programu. |
| 2 | 30.9.2025 | Problémy, algoritmy, data. , Příklady: GCD, NIM - kostra programu, NIM - implementace, Tic Tac Toe - kostra programu, Tic Tac Toe - implementace |
| 3 | 7.10.2025 | Vyhledávání a řazení 1. Příklady: I-S S-S B-S |
| 4 | 14.10.2025 | Abstraktní datové typy (zásobník, fronta), řazení pomocí haldy. Příklady: stack, queue, H-S |
| 5 | 21.10.2025 | Abstraktní datové typy (spoj. seznam). Příklady: Linked list |
| 6 | 28.10.2025 | Státní svátek |
| 7 | 4.11.2025 | Rekurze. Příklady: factorial, list reverse, hanoi, fibonacci |
| 8 | 11.11.2025 | Rekurzivní řazení. Příklady: M-S, Q-S |
| 9 | 18.11.2025 | Hledání v grafech (reprezentace grafu, rekurzivní hledání cest). Příklady: Cesty v grafu |
| 10 | 25.11.2025 | Hledání v grafech (prohledávání spojového grafu, stavový prostor). Příklady: Cesta z města |
| 11 | 2.12.2025 | (bude upřesněno) Programovací styly a kódovací konvence: čistý kód. clean-code-zal.pdf, rosemary.pdf, rosemary.zip |
| 12 | 9.12.2025 | (bude upřesněno) Složitost a výkon algoritmů. Přehled složitosti algoritmů a datových struktur |
| 13 | 16.12.2025 | (bude upřesněno) Přehled programovacích jazyků. Úvod do překládaných programovacích jazyků. |
| 23.12.2025 | Vánoce | |
| 30.12.2025 | Vánoce | |
| 14 | 6.1.2026 | (bude upřesněno) Odpadá |
Poklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.
Hodnocení se řídí Studijním a zkušebním řádem ČVUT.
Předmět je zakončen zápočtem a zkouškou. K úspěšnému absolvování předmětu je nutné získat zápočet a vykonat zkoušku. Pro získání zápočtu je třeba úspěšně vyřešit všechny domácí úkoly a získat alespoň 10 bodů.
Po získání zápočtu je nutné vykonat implementační zkoušku. Implementační zkouška probíhá v počítačové učebně na školních počítačích. Instalované prostředí odpovídá tomu, na které jste zvyklí ze semestru, s tím rozdílem, že nemáte přístup na internet ani ke svým personálním souborům (pracujete tedy v “čistém laboratorním prostředí”). Zkouškové zadání se skládá z šesti úloh, každé hodnocené až 10 body. Úlohy na sebe mohou navazovat. Není vyžadována speciální znalost specifických algoritmů, ale předpokládá se schopnost navrhnout jednoduchý algoritmus podle zadání a jeho bezchybná implementace. Čas na řešení úloh je dostatečný.
Body lze získat v kategoriích:
| Kategorie | Body | Minimum bodů |
|---|---|---|
| 11 domácích úkolů | 40 | 10 |
| Zkouška (implementace) | 60 | - |
Rozložení hodnocení dle dosažených bodů je dle tabulky:
| Známka | Bodové rozmezí | Slovní hodnocení |
|---|---|---|
| A | 90 a více | výborně |
| B | 80 - 89 | velmi dobře |
| C | 70 - 79 | dobře |
| D | 60 - 69 | uspokojivě |
| E | 50 - 59 | dostatečně |
| F | méně než 50 | nedostatečně |