Anotace předmětu
Předmět navazuje na obdobný předmět Algoritmy I. Náplní předmětu jsou další strategie algoritmického řešení úloh (dynamické programování, hladové algoritmy atd.) a typické příklady jejich užití.
Garant předmětu, tutor
Garantem předmětu je doc. Mgr. Jiří Dvorský, Ph.D.
Prerekvizity
Předmět Algoritmy II má jako povinnou prerekvizitu předmět Algoritmy I. To znamená, že bez úspěšného ukončení předmětu Algoritmy I nelze ukončit ani předmět Algoritmy II i když máte předmět Algoritmy II zapsán.
Výuka
Tutoriály
Tutoriál |
Termín |
Náplň |
1. | 20. září 2024 |
Na tomto úvodním tutoriálu Vám budou sděleny informace o organizaci studia předmětu a informace o náplni předmětu. Konzultace k tématům: Strategie řešení transformuj a vyřeš. |
2. | 5. října 2024 |
Konzultace k tématům: Záměna paměťové a časové složitosti. |
3. | 19. října 2024 |
Konzultace k tématům: Dynamické programování. |
4. | 1. listopadu 2024 |
Konzultace k tématům: Hladové algoritmy. |
6. | 29. listopadu 2024 |
Konzultace k tématům: Strategie řešení iterativním zlepšováním. |
7. | 13. prosince 2024 |
Konzultace k tématům: Meze možností algoritmického řešení problémů. P, NP a NP-úplné problémy. Zdolávání mezí možností algoritmického řešení problémů. |
Konzultace
Pokud byste potřebovali nějakou záležitost řešit osobně je možné využít konzultační hodiny. Konzultaci je dobré si domluvit předem, nejlépe emailem.
Dále je možné, opět po předchozí domluvě, vést konzultaci online v prostředí MS Teams.
Úkoly a jejich hodnocení
Hodnocení v předmětu Algoritmy II se skládá ze tří částí: průběžné aktivity na tutoriálech, obhajoby projektu a závěrečné písemné práce. Všechny části jsou povinné a je nutné z každé části získat aspoň minimální počet bodů.
Průběžná aktivita na tutoriálech
Průběžná aktivita na tutoriálech znamená:
- účast na tutoriálech a
- průběžné plnění úkolů zadaných na jednotlivých tutoriálech.
Obhajoba projektu
- Zde si můžete stáhnout zadání projektů a testovací data.
- Deadline odevzdání je 15. prosince 2024.
- Obhajoby projektů proběhnou v zápočtovém týdnu a ve zkouškovém období.
- Bez ohledu na to, kdy proběhnou obhajoby projektů platí, že se obhajuje verze, která byla odevzdána do deadlinu.
- Na obhajobu projektu není možný opravný termín.
Závěrečná písemná práce
- Závěrečná písemná práce proběhne ve zkouškovém období.
- Termíny budou zveřejněny v systému Edison.
- Opravný termín na závěrečnou písemnou práci je poskytován jen těm studentům, kteří u svého prvního pokusu získali aspoň 10 bodů.
Počet bodů na prvním termínu | Opravný termín |
0 až 9 | NE |
10 až 20 | ANO |
více než 21 | není nutný, úspěch |
- Závěrečnou písemnou práci máte možnost psát celkem dvakrát, jinak řečeno máte nárok na jednu opravu. Předmět je ukončen klasifikovaným zápočtem. Nevztahuje se tudíž na něj požadavek dvou oprav, jak to vyžaduje studijní řád u zkoušky.
- Žádné další opravy nejsou možné.
Hodnocení úkolů
Pro absolvování předmětu je potřeba splnit všechny výše uvedené úkoly. A zároveň u všech úkolů je nutné získat aspoň minimální počet bodů.
| Minimální počet bodů | Maximální počet bodů |
Průběžná aktivita na tutoriálech | 15 | 30 |
Obhajoba projektu | 15 | 30 |
Závěrečná písemná práce | 21 | 40 |
Celkem | 51 | 100 |
Obecné pokyny ke všem úkolům
- U všech úkolů jste povinni se prokázat svou studentskou kartou nebo jiným oficiálním dokladem totožnosti. Bez prokázání totožnosti Vám nebude výsledek započítán.
- Každý prohřešek vůči studijnímu řádu u testů a písemné práce bude nekompromisně postihován. Jde především o opisování, plagiátorství, a záměnu studentů.
- Je zakázáno zadání testů, písemek atd. kopírovat, fotit mobily, fotoaparáty, skenovat či jakkoliv jinak kopírovat, rozmnožovat, sdílet elektronickým způsobem a podobně.
- Předmět je ukončen klasifikovaným zápočtem. Nevztahuje se tudíž na něj požadavek dvou oprav, jak to vyžaduje studijní řád u zkoušky.
Studijní literatura
Povinná literatura
- LEVITIN, Anany., 2012. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson. ISBN 978-0-13-231681-1.
- CORMEN, Thomas H., Charles Eric LEISERSON, Ronald L. RIVEST a Clifford STEIN, [2022]. Introduction to algorithms. Fourth edition. Cambridge, Massachusetts: The MIT Press. ISBN 978-026-2046-305.
- CORMEN, Thomas H., 2001. Introduction to Algorithms. 2nd ed. Cambridge, Mass.: MIT Press. ISBN 02-620-3293-7.
- SEDGEWICK, Robert, 2003. Algoritmy v C. Praha: SoftPress. ISBN 80-864-9756-9.
- MAREŠ, Martin a Tomáš VALLA, 2017. Průvodce labyrintem algoritmů [online]. Praha: CZ.NIC, z.s.p.o. [cit. 2020-10-03]. CZ.NIC. ISBN 978-80-88168-19-5. Dostupné z: https://knihy.nic.cz/
- WRÓBLEWSKI, Piotr, 2015. Algoritmy. Brno: Computer Press. ISBN 978-80-251-4126-7.
- WIRTH, Niklaus, 1988. Algoritmy a štruktúry údajov. Bratislava: Alfa. ISBN 063-030-87.
Doplňková literatura
- STROUSTRUP, Bjarne, 1997. C++ programovací jazyk. Praha: Softwarové Aplikace a Systémy. ISBN 80-901-5072-1.
- VIRIUS, Miroslav, 2005. Pasti a propasti jazyka C++. 2., aktualiz. a rozš. vyd. Brno: CP Books. ISBN 80-251-0509-1.
- SCHILDT, Herbert, 2001. Nauč se sám C++: [poznej, vyzkoušej, používej]. Praha: SoftPress. ISBN 80-864-9713-5.
- ECKEL, Bruce, 2000. Myslíme v jazyku C++. Praha: Grada. Knihovna programátora (Grada). ISBN 80-247-9009-2.
Software pro výuku
Vývojové prostředí pro C++
- Na učebnách je pro výuku k dispozici Microsoft Visual Studio Community 2022, dále jen VS2022.
- Toto vývojové prostředí doporučuji si stáhnout i pro domácí přípravu. Obecně lze ale použít jakékoliv vývojové prostředí a kompilátor podporující minimálně specifikaci C++17.
- Vývojové prostředí VS2022 a s ním dodávaný překladač jazyka C++ bude užíváno jednak pro výuku a jednak jako referenční překladač při hodnocení Vašich případných projektů, domácích úkolů a jiných zdrojových kódů, které budete odevzdávat. Jinak řečeno, veškerý Vámi vytvořený software musí s tímto překladačem bezchybně pracovat. Není v silách vyučujících prověřovat funkčnost Vašich projektů v různých operačních systémech, vývojových prostředích, s různými kompilátory a verzemi knihoven!
- Obzvláště upozorňuji na nestandardní rozšíření jazyka C++ v překladači GNU, například jde o deklaraci pole s nekonstantní velikostí.
Ostatní software
Další software, který se Vám bude hodit při tvorbě Vašich programů:
Ostatní učební materiály
Prezentace z přednášek
- Prezentace k předmětům Algoritmy I a Algoritmy II si můžete stáhnout na této stránce.
- Prezentace z přednášek však nejsou studijním materiálem. Závěrečná písemná práce může obsahovat otázky z celého obsahu příslušných kapitol knihy A. Levitina, bez ohledu na to zda prezentace existuje nebo, zda je prezentace úplná či nikoliv.