Petr Krajča - vyuka

Mgr. Petr Krajča, Ph.D. Výuka


Předměty

Témata závěrečných prací

Bakalářské

  • Význam mikrooptimalizací na celkovou rychlost programu  |  Patrik Grulich
    Diplomant si nastuduje mikroarchitekturu některého ze soudobých procesorů a navybraných algoritmech předvede vliv mikrooptimalizací na výsledný kód. Zejména se bude jednat o optimalizace zaměřené na vykonávání instrukcí mimo pořadí, párování instrukcí, vzájemnou záměnu instrukcí, apod.
  • Linuxová distribuce s podporou aplikací pro Windows  |  Rostislav Beneš
    Cílem práce je vytvořit distribuci operačního systému GNU/Linux, která bude integrovat Wine (případně další emulátory) tak, aby uživatelé mohli bez obtíží používat současně nativní linuxové aplikace i aplikace pro Windows.
  • Aplikace pro doporučení tarifu mobilního operátora  |  Jan Převrátil
    Cílem práce je vytvořit aplikaci/službu pro platformu Android, která na základě podrobné statistiky o uskutečněných hovorech, jejich délce, odeslaných zprávách, atd. doporučí vhodný tarif pro mobilní telefon. Aplikace by měla umět zejména podchytit různé metody účtování jednotlivých operátorů.
  • Interpreter Schemu a IDE pro Android  |  Tomáš Hrachovina
  • Analýza malware  |  Tomáš Orlík
    Cílem práce je analyzovat chování vybraného viru/trojského koně, zjistit jeho chování a popsat prostředky použité při analýze.
  • Herní engine a editor pro logické hry  |  Richard Havel
    Cílem práce ja navrhnout a vytvořit herní engine s editorem scén pro logické hry typu Sokoban, Fish Fillets, Flappy, příp. Boulder Dash nebo Bomberman.
  • Kontextově citlivé doplňování pro ViM
    Cílem práce je vytvořit rozšíření pro textový editor ViM, které zkvalitní automatickou nápovědu slov na základě historie editovaných dokumentů.
  • Emailový klient pro prohlížeč Otter  |  Jan Čulík
  • VNC server  |  Jakub Novák
  • Nástroj pro přípravu a zpracování dat  |  Radovan Bednár
    Cílem práce je vytvořit rozšiřitelný open-source nástroj pro transformaci částečně strukturovaných textů do strukturované podoby vhodné pro další strojové zpracování, podobný nástroji DataWrangler.
  • Online varianta hry Blokus  |  Tomáš Vlk
    Cílem práce je vytvořit online variantu hry Blokus. Výsledná aplikace by měla podporovat hru více hráčů, počítačového hráče a mít nativního klienta pro více platforem.
  • Vizualizace algoritmů používaných v relačních databázích  |  Michal Špeta
  • Portál pro výuku webových technologií  |  Stanislav Čech
  • Dotazování nad daty z OpenStreetMap  |  Tomáš Benek
  • Aplikace na tvorbu a správu metadat pro CANopen zařízení  |  Miloslav Votradovec
  • Hra typu Tower defense pro Android  |  František Slabý

Diplomové

  • Jazyk pro programování GPGPU  |  Martin Hořava
    Cílem práce je navrhnout programovací jazyk vyšší úrovně, který umožní snažší programování GPGPU. Mělo by se jednat o jazyk, který bude stavět na technologích jako CUDA a OpenCL, ale bude zjednodušovat zadávání programů pro paralelní běh a současně zjednoduší práci s pamětí.
  • Programovací jazyk pro distribuované výpočty  |  Peter Vaňušanik
    Cílem práce je navrhnout programovací jazyk a jeho běhové prostředí, které umožní efektivní tvorbu a běh programů v distribuovaném systému.
  • Optimalizace v dynamicky typovaných jazycích
    Diplomant nastuduje vybrané optimalizace pro dynamicky typované jazyky a implementuje interpretr/překladač zvoleného jazyka využívající tyto optimalizace.
  • „Inteligentní“ editor pro jazyk Java
    Cílem práce je navrhnout editor (vývojové prostředí) pro jazyk Java, který umožní programátorovi soustředit se na samotnou tvorbu programu tím, že jej odstíní od psaní zbytečného kódu. Editor by měl být schopen automaticky doplňovat části kódu, které jsou zjevné, a zároveň by měl být schopen skrývat tyto části kódu tak, aby nerušily při programování.
  • Verzování zdrojových kódů založené na syntaxi a sémantice jazyka
    Cílem práce je vytvořit systém pro správu zdrojových kódů, který bude využívat znalosti o konkrétním programovacím jazyce k řešení kolizí při slučování. Tyto informace by dále měly být použitelné k automatické tvorbě srozumitelného zápisu o provedených změnách.