Interaktivní osnova
-
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
Nyní studovatProgramování s využitím C++11 (vyučující Vladimír Štill, Jiří Weiser)
-
Nyní studovatZpracování obrazu (vyučujicí Vladimír Ulman)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Týden 1.: Můj první program pracující s obrazem
-
•Týden 2., 3.10.: Prahování a značkování
-
•Týden 3., 10.10.: Histogramy a automatické prahování
-
•Týden 4., 17.10.: Zpracování obrazu po blocích, lokální prahování
-
•Týden 5., 24.10.: Zpracování obrazu po blocích, trochu lepší lokální prahování
-
•Týden 6., 31.10.: Filtrování obrazu
-
•Týden 7., 7.11.: Zpracování opravdu velkých obrazů
-
•Týden 8., 14.11.: Registrace a spojování obrazů
-
•Týden 9., 21.11.: Ladění, optimalizace a vizualizace, část I.
-
•Týden 10., 28.11.: Ladění, optimalizace a vizualizace, část II.
-
•Týden 11., 5.12.: Praktický úkol: počítání ptáků na obloze
-
•Týden 12., 12.12.: Praktický úkol: trackování brouka ve videu
-
•Týden 13., 19.12.: Šachovnice, týmové programování
-
LETOS NE: Týden 14., 18.12.: Dokumentace, licence a GUI nadstavby
-
-
Nyní studovatSystémové programování Windows (vyučující Roman Štěpánek)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Organizace tématické skupiny
-
•Podmínky dokončení
-
•Téma 1: Úvod do Windows API
-
•Téma 2: Procesy
-
•Téma 3: Vlákna
-
•Téma 4: Dynamic-link library
-
•Téma 5: Registry
-
•Téma 6: Paměť
-
•Téma 7: Event Log
-
•Téma 8: Služby
-
•Téma 9: Security Descriptor
-
•Téma 10: Data Protection API
-
•Téma 11: Kam dál?
-
-
Nyní studovatOvladače jádra -- Linux (vyučující Jiří Slabý)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky dle tématické skupiny
-
•Téma 2: Rozhraní s uživatelem
-
•Téma 3: Ladění chyb (debugging)
-
•Téma 4: Chyby souběhu
-
•Téma 5: Práce s pamětí
-
•Téma 6: Datové struktury
-
•Téma 7: Komunikace s HW
-
•Téma 8: Časovače, přerušení
-
•Téma 9: Paměť trochu jinak I.
-
•Téma 10: Paměť trochu jinak II.
-
•Téma 11: Komunikace mezi procesy
-
•Téma 12: Síťové rozhraní & oops
-
•Téma 13: Výroba exploitu
-
-
Nyní studovatBinární programování Linux (vyučující Jiří Slabý)
-
•Informace ke cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky
-
•Téma 2: Parsery
-
•Téma 3: Binární objektové soubory
-
•Téma 4: ELF a libelf
-
•Téma 5: DWARF
-
•Téma 6: Linker skripty
-
•Téma 7: C bez libc
-
•Téma 8: Ladění funkčnosti
-
•Téma 9: Gdb a ladění výkonnosti
-
•Téma 10: Komunikace s HW
-
•Téma 11: Komunikace mezi procesy
-
•Téma 12: Netlink a RPC
-
•Téma 13: Výroba exploitu
-
-
Nyní studovatSystémové programování Linux (vyučujicí Petr Velan, Martin Drašar, Martin Husák, Jiří Novosad)
-
Nyní studovatAplikovaná kryptografie a bezpečné programování (vyučujicí Petr Švenda)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•1. týden / 1st week 16.9.2014 (úvod, kryptografické knihovny / introduction, cryptographic libraries)
-
•2. týden / 2nd week 23.9.2014 (základní algoritmy, rng, délky klíčů / basic algorithms, RNG, key lengths)
-
•3. týden 30.9.2014 (API, authenticated encryption)
-
•4. týden 7.10.2014 (ODPADLO)
-
•5. týden 14.10.2014 (Presentation of architectures)
-
•6. týden 21.10.2014 (Presentation of attacks against architectures)
-
•7. týden 28.10.2014 (National holidays)
-
•8. týden 4.11.2014 (Basic networking)
-
•9. týden 11.11.2014 (Client 2 client networking)
-
11. týden 18.11.2014 (PKCS#11)
-
12. týden 25.11.2014 (Prezentace architektur)
-
13. týden 2.12.2014
-
-
Informace pro cvičení
Tato skupina se věnuje tématu analýzy a vývoje algoritmů zpracování obrazu, jejich schromažďování a udržování ve společné knihovně širší skupinou programátorů a, v neposlední řadě, dalšímu využívání rutin z této knihovny. Během semestru si vyzkoušíme celý typický vývojový cyklus řešení zadaného úkolu analýzy obrazu.
Cílem cvičení nebude naučit se daný algoritmus zpracování obrazu, ale během jeho programování si uvědomit/osvojit některé typické aspekty a programovací techniky z tohoto oboru, dále také se seznámit a procvičit v používání některých vývojových nástrojů. K pochopení a realizaci probíraného algoritmu nebude potřeba mít žádné zvláštní neprogramátorské znalosti, probírané algoritmy budou opravdu jednoduché.
Předpokládá se předchozí zkušenost s jazykem C. Výhodou může být základní znalost C++ a prostředí GNU/Linux.
Programování bude probíhat s využitím knihoven i3dcore a i3dalgo, které jsou psané v C++ s využitím šablon. Ve cvičení proto budeme používat překladač jazyka C++, nicméně v našich programech nebudeme primárně využívat rozšíření jazyka, například třídy nebo standardní knihovnu C++. Kdo bude chtít psát v C++ tak ale může.
Tutorial ke oboum knihovám a jejich připojení k našemu prvnímu programu, a také reprezentaci obrazu v počítači a práci s ním si probereme společně na prvním cvičení.
Kontakt na cvičícího je: Vladimír Ulman, kancelář A307 (“úřední” hodiny jsou 2h těsně po cvičení), xulman zavináč fi muni cz.
Tato skupina je pod patronací Centra analýzy biomedicínských obrazů (CBIA) na Fakultě informatiky. Cvičící zde pracuje jako výzkumný a vývojový pracovník.
-
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
Nyní studovatProgramování s využitím C++11 (vyučující Vladimír Štill, Jiří Weiser)
-
Nyní studovatZpracování obrazu (vyučujicí Vladimír Ulman)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Týden 1.: Můj první program pracující s obrazem
-
•Týden 2., 3.10.: Prahování a značkování
-
•Týden 3., 10.10.: Histogramy a automatické prahování
-
•Týden 4., 17.10.: Zpracování obrazu po blocích, lokální prahování
-
•Týden 5., 24.10.: Zpracování obrazu po blocích, trochu lepší lokální prahování
-
•Týden 6., 31.10.: Filtrování obrazu
-
•Týden 7., 7.11.: Zpracování opravdu velkých obrazů
-
•Týden 8., 14.11.: Registrace a spojování obrazů
-
•Týden 9., 21.11.: Ladění, optimalizace a vizualizace, část I.
-
•Týden 10., 28.11.: Ladění, optimalizace a vizualizace, část II.
-
•Týden 11., 5.12.: Praktický úkol: počítání ptáků na obloze
-
•Týden 12., 12.12.: Praktický úkol: trackování brouka ve videu
-
•Týden 13., 19.12.: Šachovnice, týmové programování
-
LETOS NE: Týden 14., 18.12.: Dokumentace, licence a GUI nadstavby
-
-
Nyní studovatSystémové programování Windows (vyučující Roman Štěpánek)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Organizace tématické skupiny
-
•Podmínky dokončení
-
•Téma 1: Úvod do Windows API
-
•Téma 2: Procesy
-
•Téma 3: Vlákna
-
•Téma 4: Dynamic-link library
-
•Téma 5: Registry
-
•Téma 6: Paměť
-
•Téma 7: Event Log
-
•Téma 8: Služby
-
•Téma 9: Security Descriptor
-
•Téma 10: Data Protection API
-
•Téma 11: Kam dál?
-
-
Nyní studovatOvladače jádra -- Linux (vyučující Jiří Slabý)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky dle tématické skupiny
-
•Téma 2: Rozhraní s uživatelem
-
•Téma 3: Ladění chyb (debugging)
-
•Téma 4: Chyby souběhu
-
•Téma 5: Práce s pamětí
-
•Téma 6: Datové struktury
-
•Téma 7: Komunikace s HW
-
•Téma 8: Časovače, přerušení
-
•Téma 9: Paměť trochu jinak I.
-
•Téma 10: Paměť trochu jinak II.
-
•Téma 11: Komunikace mezi procesy
-
•Téma 12: Síťové rozhraní & oops
-
•Téma 13: Výroba exploitu
-
-
Nyní studovatBinární programování Linux (vyučující Jiří Slabý)
-
•Informace ke cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky
-
•Téma 2: Parsery
-
•Téma 3: Binární objektové soubory
-
•Téma 4: ELF a libelf
-
•Téma 5: DWARF
-
•Téma 6: Linker skripty
-
•Téma 7: C bez libc
-
•Téma 8: Ladění funkčnosti
-
•Téma 9: Gdb a ladění výkonnosti
-
•Téma 10: Komunikace s HW
-
•Téma 11: Komunikace mezi procesy
-
•Téma 12: Netlink a RPC
-
•Téma 13: Výroba exploitu
-
-
Nyní studovatSystémové programování Linux (vyučujicí Petr Velan, Martin Drašar, Martin Husák, Jiří Novosad)
-
Nyní studovatAplikovaná kryptografie a bezpečné programování (vyučujicí Petr Švenda)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•1. týden / 1st week 16.9.2014 (úvod, kryptografické knihovny / introduction, cryptographic libraries)
-
•2. týden / 2nd week 23.9.2014 (základní algoritmy, rng, délky klíčů / basic algorithms, RNG, key lengths)
-
•3. týden 30.9.2014 (API, authenticated encryption)
-
•4. týden 7.10.2014 (ODPADLO)
-
•5. týden 14.10.2014 (Presentation of architectures)
-
•6. týden 21.10.2014 (Presentation of attacks against architectures)
-
•7. týden 28.10.2014 (National holidays)
-
•8. týden 4.11.2014 (Basic networking)
-
•9. týden 11.11.2014 (Client 2 client networking)
-
11. týden 18.11.2014 (PKCS#11)
-
12. týden 25.11.2014 (Prezentace architektur)
-
13. týden 2.12.2014
-
-