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

Fakulta informatiky
jaro 2023
Rozsah
0/2/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučováno prezenčně.
Vyučující
doc. RNDr. Petr Švenda, Ph.D. (pomocník)
Mgr. Roman Lacko (přednášející)
Mgr. Milan Patnaik (přednášející)
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/perl: Po 13. 2. až Po 15. 5. Po 12:00–13:50 B011; a St 17. 5. 12:00–13:50 B011, R. Lacko
PB173/securityLec: Út 4. 4. 16:00–17:50 A318, Út 11. 4. 16:00–17:50 A318, Út 18. 4. 16:00–17:50 A318, Út 25. 4. 16:00–17:50 A318, M. Patnaik
PB173/security01: Čt 6. 4. 12:00–13:50 B411, Čt 13. 4. 12:00–13:50 B411, Čt 20. 4. 12:00–13:50 B411, Čt 27. 4. 12:00–13:50 B411, M. Patnaik
PB173/security02: Čt 6. 4. 16:00–17:50 B410, Čt 13. 4. 16:00–17:50 B410, Čt 20. 4. 16:00–17:50 B410, Čt 27. 4. 16:00–17:50 B410, M. Patnaik
Předpoklady
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. Povinnou prerekvizitou je absolvování předmětu PB071 nebo výjimka udělená přednášejícím.
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 35 stud.
Momentální stav registrace a zápisu: zapsáno: 13/35, pouze zareg.: 0/35, pouze zareg. s předností (mateřské obory): 0/35
Mateřské obory/plány
předmět má 75 mateřských oborů, zobrazit
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.


Aktuálně víme pro jaro 2023 o následujících tématech:

  • Programování v jazyce Perl (Roman Lacko) – hlavním cílem skupiny posktnout dobré programovací návyky v jazyku Perl. Výuká probíhá standardně v průběhu celého semestru (2 hodiny týdně)
  • Binary exploitation (Milan Patnaik, English, 4 weeks intensive) – The group will cover basics of reverse engineering of binaries, writing exploits including Return Oriented Programming (ROP) and microarchitectural attacks (Meltdown, Spectre). The teaching will be given in English language and will have form of a condensed intensive training during 4 weeks (6-8 hours/week).

Příklady témat z minulých let: 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, podzim 2023, jaro 2024.