PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++

Fakulta informatiky
podzim 2020
Rozsah
0/2/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučující
RNDr. Petr Ročkai, Ph.D. (přednášející)
Mgr. Roman Lacko (cvičící)
RNDr. Martin Ukrop, Ph.D. (cvičící)
RNDr. Vladimír Štill, Ph.D. (pomocník)
Garance
RNDr. Petr Ročkai, 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/A: Čt 8:00–9:50 A219, P. Ročkai
PB173/B: Rozvrh nebyl do ISu vložen. P. Ročkai
PB173/01: Út 12:00–13:30 Virtuální místnost, Pá 10:00–10:30 Virtuální místnost, R. Lacko
Předpoklady
PB071 Principy nízkoúr. prog. || SOUHLAS
U studentů se předpokládá znalost jazyka C nebo C++. Současně se předpokládá uživatelská znalost operačního systému dle konkrétní skupiny (Unix nebo Windows). 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 110 stud.
Momentální stav registrace a zápisu: zapsáno: 5/110, pouze zareg.: 0/110, pouze zareg. s předností (mateřské obory): 0/110
Mateřské obory/plány
předmět má 75 mateřských oborů, zobrazit
Cíle předmětu
Na konci tohoto kurzu bude student schopen: používat moderní vývojové nástroje (IDE, debugger, verzovací nástroje...); dodržovat a používat dobré programátorské návyky; lépe se orientovat v praktických problémech řešených v oblasti studentova zaměření; vytvářet udržovatelné a rozšiřovatelné aplikace; ladit chyby v programu a předcházet jejich výskytu systematickým testováním; korektně a efektivně pracovat s pamětí a velkými daty; optimalizovat aplikaci z hlediska používání systémových zdrojů;
Výstupy z učení
Pokročilá znalost programovacích technik v jazyce C/C++.
Osnova
  • Osnova jednotlivých skupin je individuální a odpovídá problémové doméně. Klade se důraz na praktické programování a zručnosti s tím spojené -- version control, ladění, testování a podobně.
Literatura
  • Literatura dle tematické 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, který však typicky nepřesáhne 30 % času cvičení – 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 se musí aktivně účastnit výuky a během semestru vypracovat zadané domácí úlohy. Hodnocení je v každé skupině individuální a bude vysvětleno na začátku semestru.
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. Příklady témat: 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, jaro 2021, podzim 2021, jaro 2022, podzim 2022, jaro 2023, podzim 2023, jaro 2024, podzim 2024, jaro 2025.