Interaktivní osnova
-
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
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., 25.9.: Prahování a značkování
-
•Týden 3., 2.10.: Histogramy a automatické prahování
-
•Týden 4., 9.10.: Efektivní vytváření dynamických histogramů
-
•Týden 5., 16.10.: Zpracování obrazu po blocích, lokální prahování
-
•Týden 6., 23.10.: Zpracování obrazu po blocích, trochu lepší lokální prahování
-
•Týden 7., 30.10.: Filtrování obrazu
-
•Týden 8., 6.11.: Zpracování opravdu velkých obrazů
-
•Týden 9., 13.11.: Registrace a spojování obrazů
-
•Týden 10., 20.11.: Ladění, optimalizace a vizualizace, část I.
-
•Týden 11., 27.11.: Ladění, optimalizace a vizualizace, část II.
-
•Týden 12., 4.12.: Praktický úkol: počítání ptáků na obloze
-
•Týden 13., 11.12.: Šachovnice, týmové programování
-
•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í
-
•Téma 13: FW a OOPS
-
-
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: Q&A
-
-
Nyní studovatSystémové programování Linux (vyučujicí Radek Krejčí)
-
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 17.9.2013 (odpadlo)
-
•2. týden 24.9.2013 (úvod, kryptografické knihovny)
-
•3. týden 1.10.2013 (základní algoritmy, rng, délky klíčů)
-
•4. týden 8.10.2013 (návrh API, Autentizované šifrování)
-
•5. týden 15.10.2013 (prezentace architektur)
-
•6. týden 22.10.2013 (Debugging)
-
•7. týden 29.10.2013 (Sockety, Optimalizace)
-
•9. týden 12.11.2013 (Code review)
-
•10. týden 19.11.2013 (Refactoring)
-
11. týden 26.11.2013 (PKCS#11)
-
•12. týden 3.12.2013 (Prezentace architektur)
-
-
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ář C415 (“úř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í 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., 25.9.: Prahování a značkování
-
•Týden 3., 2.10.: Histogramy a automatické prahování
-
•Týden 4., 9.10.: Efektivní vytváření dynamických histogramů
-
•Týden 5., 16.10.: Zpracování obrazu po blocích, lokální prahování
-
•Týden 6., 23.10.: Zpracování obrazu po blocích, trochu lepší lokální prahování
-
•Týden 7., 30.10.: Filtrování obrazu
-
•Týden 8., 6.11.: Zpracování opravdu velkých obrazů
-
•Týden 9., 13.11.: Registrace a spojování obrazů
-
•Týden 10., 20.11.: Ladění, optimalizace a vizualizace, část I.
-
•Týden 11., 27.11.: Ladění, optimalizace a vizualizace, část II.
-
•Týden 12., 4.12.: Praktický úkol: počítání ptáků na obloze
-
•Týden 13., 11.12.: Šachovnice, týmové programování
-
•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í
-
•Téma 13: FW a OOPS
-
-
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: Q&A
-
-
Nyní studovatSystémové programování Linux (vyučujicí Radek Krejčí)
-
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 17.9.2013 (odpadlo)
-
•2. týden 24.9.2013 (úvod, kryptografické knihovny)
-
•3. týden 1.10.2013 (základní algoritmy, rng, délky klíčů)
-
•4. týden 8.10.2013 (návrh API, Autentizované šifrování)
-
•5. týden 15.10.2013 (prezentace architektur)
-
•6. týden 22.10.2013 (Debugging)
-
•7. týden 29.10.2013 (Sockety, Optimalizace)
-
•9. týden 12.11.2013 (Code review)
-
•10. týden 19.11.2013 (Refactoring)
-
11. týden 26.11.2013 (PKCS#11)
-
•12. týden 3.12.2013 (Prezentace architektur)
-
-