Interaktivní osnova
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
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í
Cvičení je specifické v tom, že student na 2 hodiny zapomene všechno, co se dříve o C naučil (až na syntax) a ponoří se do zvláštností programovaní v Linuxovém jádře.
-
Úvod do problematiky (např. žádné libc, lib*)
-
Práce s GITem, kódem (cross reference apod.) a patchi (proces zařazení)
-
Možnosti ladění
-
Vytvoření nahratelného modulu
-
Alokace paměti (slub a page alokátory)
-
Komunikace s uživatelským prostorem
-
Přístup do paměti uživatelského prostoru
-
I/O
-
Přerušení
-
Chyby souběhu a jejich řešení
-
32-bit/64-bit kompatibilita (např. 64b jádro s 32b uživatelským prostředím)
-
perf
Skupina je omezena na 9 studentů (omezující počet strojů).
-
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
-
-