IB114 Úvod do programování a algoritmizace II

Fakulta informatiky
jaro 2024
Rozsah
2/1/0. 3 kr. (plus ukončení). Ukončení: zk.
Vyučováno prezenčně.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 14:00–15:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB114/01: každý sudý pátek 12:00–13:50 C416, J. Plhák
IB114/02: každý lichý pátek 12:00–13:50 C416, J. Plhák
IB114/03: každý sudý pátek 10:00–11:50 C416, J. Plhák
IB114/04: každý lichý pátek 10:00–11:50 C416, J. Plhák
IB114/05: každý sudý čtvrtek 10:00–11:50 A218, J. Barnat
IB114/06: každý lichý čtvrtek 10:00–11:50 A218, J. Barnat
Předpoklady
( IB111 Základy programování || IB113 Úvod do progr. a algoritmizace ) && ! IB002 Algoritmy a datové struktury && ! NOW ( IB002 Algoritmy a datové struktury )
Předmět je určen primárně studentům, kteří mají Informatiku jako vedlejší obor a studentům bakalářského studijního programu Kyberbezpečnost. Studenti bakalářských studijních programů Informatika a Programování a vývoj aplikací zapisují předmět IB002.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 130 stud.
Momentální stav registrace a zápisu: zapsáno: 99/130, pouze zareg.: 0/130, pouze zareg. s předností (mateřské obory): 0/130
Mateřské obory/plány
předmět má 13 mateřských oborů, zobrazit
Cíle předmětu
Cílem kurzu je získat dovednosti v používání základních datových struktur a algoritmů a zároveň schopnost navrhovat a analyzovat jednoduché algoritmy. Současně studenti rozvíjejí své dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně navrhovat jednoduché algoritmy,
- aktivně používat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- implementovat jednoduché algoritmy ve vyučovaném programovacím jazyce (Python).
Osnova
  • Základy analýzy algoritmů. Korektnost algoritmu, vstupní a výstupní podmínky, parciální korektnost, konvergence, verifikace. Délka výpočtu, složitost algoritmu, složitost problému. Asymptotická analýza časové a prostorové složitosti, růst funkcí.
  • Fundamentální datové struktury. Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy.
  • Řadicí algoritmy. Řazení rozdělováním, slučováním, haldou.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky a do šířky, aplikace prohledávácích algoritmů.
Literatura
    doporučená literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009. xix, 1292. ISBN 9780262533058. URL info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáškám.
Metody hodnocení
Závěrečná písemná zkouška na konci semestru. Podmínkou účasti na závěrečné zkoušce je splnění průběžného hodnocení z cvičení, které se skládá z pravidelných písemných testů. Podrobnosti jsou zveřejněny v Interaktivní osnově předmětu https://is.muni.cz/auth/el/1433/jaro2021/IB114/index.qwarp
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/IB114/index.qwarp
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2020, jaro 2021, jaro 2022, jaro 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/jaro2024/IB114