PB173 Tematicky zaměřený vývoj aplikací

Fakulta informatiky
jaro 2025
Rozsah
1/1/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně
Vyučující
doc. RNDr. Petr Švenda, Ph.D. (přednášející)
Lukasz Michal Chmielewski, PhD (cvičící)
Bc. Kristína Hanicová (cvičící)
Ing. Michal Prívozník (cvičící)
RNDr. Martin Ukrop, Ph.D. (pomocník)
Garance
doc. RNDr. Petr Švenda, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh seminárních/paralelních skupin
PB173/btc: Po 17. 2. až Po 12. 5. Po 16:00–17:50 A321, P. Švenda
PB173/SCA: Út 18. 2. až Út 13. 5. Út 14:00–15:50 B204, L. Chmielewski
PB173/virtualization: St 19. 2. až St 14. 5. St 10:00–11:50 S505, K. Hanicová, M. Prívozník
Předpoklady
( PB111 Principy nízkoúr. prog. || PB071 Principy nízkoúr. prog. ) && SOUHLAS
Předpokládá se znalost programovacího jazyka a operačního systému dle konkrétní skupiny.
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 70 stud.
Momentální stav registrace a zápisu: zapsáno: 27/70, pouze zareg.: 8/70, pouze zareg. s předností (mateřské obory): 7/70
Mateřské obory/plány
Cíle předmětu
Rozvinout schopnost programovat v daném programovacím jazyce na základě vybrané konkrétní aplikační domény.
Výstupy z učení
Obecným cílem předmětu je prohloubení znalostí programovacího jazyku v konkrétní oblasti dle vybrané seminární skupiny. Každá skupina si definuje své vlastní specifické cíle.
Osnova
  • Konkrétní obsah kurzu je závislý na tematických skupinách, které jsou uvedeny v sekci informace učitele.
Literatura
  • Literatura dle tématické skupiny.
Výukové metody
Výuka probíhá formou praktických dvouhodinových cvičení, doplněných samostatnými domácími programátorskými úlohami procvičujícími aktuálně probíranou látku. Cvičení obsahují nutný teoretický úvod do problematiky, zbylá část je věnována programování a používání souvisejících vývojových nástrojů u praktických úloh.
Metody hodnocení
Student během celého semestru vypracovává domácí úkoly a/nebo se podílí na projektu. Konkrétní rozsah domácích úkolů a pravidla hodnocení si stanoví každá tematická skupina samostatně.
Informace učitele

Konkrétní skupiny/témata pro daný semestr budou rozeslány hromadným mailem před začátkem zápisu seminárních skupin a budou doplněny i na tuto stránku.


Pro Jaro 2025 jsou vypsány následující seminární skupiny:

  • 1. C programování s využitím LLM v oblasti Bitcoin c-Lighting (Petr Švenda, výuka v češtině) – Skupina bude pracovat s rozsáhlým projektem c-Lighting používaným pro realizaci rychlých plateb v ekosystému Bitcoin https://github.com/ElementsProject/lightning v programovacím jazyce C. Pro pochopení jeho designu, implementace a následného rozšiřování budeme používat nástroje využívající velké jazykové modely (LLM typu ChatGPT nebo Copilot). Skupina je experimentální - našim cílem bude nejen programování v této doméně, ale i průzkum možností pedagogicky vhodného použití LLM pro výuku programovacích předmětů na fakultě. Výuka bude probíhat celý semestr v rozsahu 2 hodiny týdně.
  • 2. Virtualizace (Red Hat, čeština) – hlavním cílem skupiny je poskytnout vhled do problematiky virtualizace, použitých principů, praktického připravení virtualizačního prostředí a efektivního využití. Výuká probíhá standardně v průběhu celého semestru (2 hodiny týdně)
  • 3. Programming Side-Channel Attacks (Lukasz Chmielewski, teaching in English) - in computer security, a side-channel attack is any attack based on extra information that can be gathered using an unintended channel (e.g., power consumption) because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algorithm itself. In this seminar group, you will learn principles of side-channel analysis and you will learn how to program various stages of a side-channel attack.

Příklady témat z minulých let: Perl, Zpracování obrazu, Aplikovaná kryptografie a bezpečné programování, Systémové programování Linux, Implementace interpretu v C++, Efektivní programování, Implementace jádra operačního systému, Analýza binárek a implementace disassembleru.

Další komentáře
Studijní materiály
Předmět je vyučován každý semestr.
Předmět je zařazen také v obdobích podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, jaro 2016, podzim 2016, jaro 2017, podzim 2017, jaro 2018, podzim 2018, jaro 2019, podzim 2019, jaro 2020, podzim 2020, jaro 2021, podzim 2021, jaro 2022, podzim 2022, jaro 2023, podzim 2023, jaro 2024, podzim 2024.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/jaro2025/PB173