Bakalářské práce
Zpěvník pro náboženská shromáždění - mobilní aplikace
Autor
Ondřej Wrzecionko
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Kašpar
Katedra
Anotace
Práce se zabývá analýzou, návrhem, implementací, testováním a nasazením iOS a macOS aplikace zpěvníku pro náboženská shromáždění a podpůrného serveru poskytujícího REST API pro tuto mobilní aplikaci. Mobilní aplikace je implementována v programovacím jazyce Swift, podpůrný server v programovacím jazyce Kotlin s použitím technologie Spring Web. Aplikace umožňuje zobrazení a správu písní ve zpěvnících a přiřazení zpěvníků ke kapelám. V těchto kapelách je možná správa členů a jejich oprávnění (vedoucí spravuje členy a zpěvníky, hudebník spravuje písně, zpěváku jsou zobrazeny pouze písně a zpěvníky). Písním lze nastavit jejich text, akordy, velikost textu, tempo, výchozí transpozici a soukromé poznámky.
Aplikace je nasazena do obchodu pro iOS a macOS aplikace App Store, ze kterého ji za první měsíc nainstalovala a začala používat čtyři náboženská shromáždění, která do ní dosud nahrála přes 1000 písní v 10 zpěvnících.
The Slime Element - Hra žánru tower defense s inovativními mechanikami
Autor
Martin Němec
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Radek Richtr, Ph.D.
Katedra
Anotace
Cílem této práce je seznámit čtenáře s procesy sloužícími k vývoji počítačové hry, včetně analýzy, návrhu, implementace i testování dané hry. Výsledná hra je žánru tower defense, který je analyzován v první části práce společně s rozborem herních enginů. Následně je navržen a implementován prototyp hry v prostředí Unreal engine. Tato hra s názvem "The Slime Element" je tower defense hra vytvořená ve 3D prostředí v pohledu z třetí osoby, která však obsahuje řadu mechanik typicky se nenacházejících v tomto žánru, jako možnost létat po mapě, dokončovat úkoly v jednotlivých úrovních či využívat okolní prostředí pro svůj prospěch. Prototyp hry je nakonec podroben hráčskému testování, výsledky testování jsou shrnuty a je nastíněné pokračování projektu.
ETCS - Modul pro komunikaci mezi EVC a RBC
Autor
Daria Roshchupkina
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
Tato práce se zabývá návrhem knihoven proměnných, packetů a zpráv, nutných pro komunikaci mezi EVC a RBC a komunikačního modulu pro komunikaci mezi EVC a RBC na straně EVC, a to pro verze 2.3.0, 3.4.0 a 3.6.0 systémových požadavků kladených na ETCS v rámci SUBSET-026 vypracovaného ERA, pro simulátor ETCS. Tato práce také popisuje implementaci knihoven proměnných pro každou z verzí 2.3.0, 3.4.0 a 3.6.0 a knihoven vybraných packetů pro jednotlivé verze, vzniklou na základě tohoto návrhu. Zároveň popisuje rozdíly a podobnosti proměnných, packetů a zpráv jazyka ETCS, nutných pro komunikaci mezi moduly EVC a RBC v simulátoru ETCS, a komunikace s RBC na straně EVC mezi verzemi 2.3.0, 3.4.0 a 3.6.0.
ETCS - Modul EVC pro dynamické monitorování rychlosti
Autor
Alina Krasnenkova
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
První část této práce udává přehled o ETCS, popisuje EVC a jeho hlavní funkce potřebné pro řízení rychlosti a vzdálenosti vlaku. Druhá část popisuje návrh a implementaci modulu vytvořeného pro tuto bakalářskou práci. Tento modul je rozdělen do tří submodulů: přijímač zpráv a paketů, kalkulačka nejpřísnějšího rychlostního profilu a dynamické monitorování rychlosti.
Portál pro videoreporty
Autor
Dmitry Belov
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Oldřich Malec
Katedra
Anotace
Práce se zaměřuje na vývoj prototypu webového portálu. Nejdříve jsou pomocí analýzy konkurence stanoveny požadavky kladené na prototyp. Následně je pomocí metod softwarového inženýrství navrženo vhodné řešení pro splnění požadavků. Navrženy jsou jak technologie použité v implementaci, tak i potřebný funkcionál prototypu. Po návrhu je uvedena ukázka použití nejdůležitějších technologií v implementaci prototypu. Celá implementace je psána v JavaScriptu s využitím TypeScriptu a dalších nástrojů a knihoven jako je například Express a React. Výsledná implementace je následně otestována a jsou stanoveny nedostatky implementovaného prototypu.
Výsledkem práce je funkční prototyp splňující identifikované požadavky. Na práci by se dalo navázat doděláním prototypu do produkční verze, jeho obohacením o další funkcionál a odstraněním nedostatků prototypu, které vyplynuli z testování.
Magitech - Generátor dungeonů
Autor
Jiří Macháček
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Adam Vesecký
Katedra
Anotace
Tato bakalářská práce se zabývá tvorbou procedurálního generátoru herních prostředí - dungeonů - pro hru Magitech. V práci jsou analyzovány metody procedurálního generování obsahu, které mohou být použity pro generování různých typů dungeonů. Z analyzovaných metod je vybrána metoda nejvhodnější pro použití v případě hry Magitech - využití agentů. Generátor dungeonů využívající agenty je následně navržen a implementován do hry pomocí prostředí Unity. Generátor je nakonec důkladně otestován. Způsob generování implementovaný v této práci splňuje požadavky stanovené zadavatelem, a bude tak do hry v budoucnu zakomponován.
Magitech - Modul interakce hráče s nehráčskými postavami
Autor
Štěpán Vejvoda
Rok
2022
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Katedra
Anotace
Tato práce se zabývá vývojem systému interakce mezi hráčem a NPC pro hru MagiTech. Na základě analýzy her stejného žánru jsou navrženy jednotlivé moduly, které tvoří celý systém. Práce také obsahuje komentář k implementaci a výsledky testování, kterého se účastnili vývojáři a hráči.
Plánovač alokací na projektech
Autor
Martin Německý
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Filip Kirschner
Katedra
Anotace
Bakalářská práce se zabývá problémem alokaci zdrojů (zaměstnanců) na projekty, kde hlavnim
kritériem přiřazeni jsou preference zaměstnanců na projekty. Je zde využita technika constraint
programming, která dovoluje problém alokaci řešit deklarativnim způsobem pomoci specifikace
omezeni. Práce dále obsahuje analýzu požadavků, ze které vycházi návrh i architektura apli-
kace. Následná implementace aplikace je otestována pomoci generovaných dat na dobu výpočtu
i kvalitu řešeni.
ETCS - EVC - Implementace módů reversing, shunting a post trip
Autor
Matěj Malý
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
Tato bakalářská práce rozšiřuje funkcionalitu trenažéru ETCS, který vzniká ve spolupráci s Fakultou dopravní ČVUT v Praze. ETCS je jednotný celoevropský vlakový zabezpečovací systém. Práce se zabývá komponentou EVC, která je jádrem vozidlové části systému a má za úkol zpracovávat a vyhodnocovat data z ostatních komponent. Výsledkem práce je přidání módů reversing (mód pro couvání), shunting (mód pro posun vlaku) a post trip (mód, do kterého systém přechází po nouzovém zastavení vlaku) do komponenty EVC. Práce obsahuje návrh a popis implementace přechodů do těchto módů a funkcionalit v těchto módech. Dále vysvětluje jakým způsobem bylo řešení testováno. Díky výsledkům práce se rozšiřují možnosti scénářů, které trenažér může simulovat.
ETCS - EVC - Modul pro výpočet brzdných křivek
Autor
Jiří Doležal
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá evropským vlakovým zabezpečovačem ETCS, konkrétně trenažerem zmíněného zabezpečovače, který vzniká ve spolupráci Fakulty dopravní a Fakulty informačních technologií ČVUT v Praze. Práce se zaměřuje na výpočet brzdných křivek a s nimi spojených limitů. Vytvořené řešení počítá pro danou rychlost vlaku brzdné vzdálenosti a je tak nedílnou součástí mechanismu, který zabraňuje srážce vlaku s okolím. Přínosem této práce je srozumitelnost a přehlednost kódu brzdných křivek, díky čemuž je modul lehce použitelný i pro ostatní členy projektu. Další výhodou je strukturalizace kódu, která umožňuje kvalitní testování.
Synchronizace struktury relační databáze s GIT
Autor
Tomáš Krupička
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Michal Valenta, Ph.D.
Katedra
Anotace
Cílem této práce je analýza a vypracování řešení způsobu využití verzovacího systému Git pro verzování a synchronizaci změn v databázovém modelu, s důrazem na použití ve velkém podnikovém prostředí. Práce staví na již rozpracovaném řešení pro synchronizaci změn z databáze do Gitu a dalších konvencích a softwaru používaných v cílovém prostředí. Dále navrhuje podobu kompletního systému zahrnující dříve zmíněné řešení a vlastní vypracované řešení pro propisování změn z Gitu do databáze. Výsledné řešení by mělo umožňovat efektivně využívat možností verzovacího systému Git a jeho nadstaveb (např. Azure Repos), a zároveň počítat s případnými komplikacemi, které můžou vyvstat z důvodu vyšší zátěže systému.
Backend e-shopu - doprovodné procesy
Autor
David Mareš
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Hunka
Katedra
Anotace
Práce se zaobírá rozšířením backendové části systému pro správu e-shopu. V rámci práce proběhla důkladná analýza aktuálně používaného řešení, které bylo potřeba nahradit z důvodu použití zastaralých technologií a vysoké provázanosti, což způsobovalo obtížnou údržbu i rozšířitelnost.
Práce se skládá z několika částí, z nichž každá přináší něco nového a užitečného pro správu e-shopu.
Jedním z klíčových prvků této práce je nástroj pro export dat, který využívá Doctrine ORM a vlastní parser pro skládání databázových dotazů, a následnou tvorbu souboru ve vybraném datovém formátu. Tento nástroj byl vytvořen s ohledem na vysokou konfigurovatelnost, ale také bezpečnost.
Dalším významným prvkem práce je řešení pro automatizaci procesů. Vytvořené řešení využívá Symfony Command společně s balíčkem The ScheduleBundle pro plánování a správu jednotlivých činností.
Na závěr se práce věnuje možným rozšířením vytvořeného řešení, především vystavením uživatelského rozhraní pro tvorbu konfigurací do nástroje pro export dat, který v rámci této práce vznikl.
Backend e-shopu - nákupní košík a zpracování objednávek
Autor
Nikita Golmgren
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Hunka
Katedra
Anotace
Tato bakalářská práce se zabývá problematikou systémů pro vytváření a zpracování objednávek v internetových obchodech. V její rámci byla provedená podrobná analýza problematiky a současného stavu nově vznikajícího backendu internetových obchodů Porcupine od společnosti Jagu s.r.o. Na základě výsledků analýzy byl vytvořen návrh modulu nákupního košíku s využitím praktik Domain-Driven Development a návrhového vzoru MVC. Vytvořený návrh byl v jazyce PHP 8.1 s využitím frameworku Symfony implementován, integrován do systému Porcupine a otestován. Ve výsledku této práce vznikl backendový modul pro e-shopy, který je schopný vytvářet objednávky na základě zvoleného zboží.
Algoritmus doporučující soupeře pro družiny Dungeons and Dragons
Autor
Matěj Mikušek
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. David Bernhauer, Ph.D.
Katedra
Anotace
Obsahem této práce je navržení algoritmu pro Dungeon Mastery, který jim doporučí vhodné
nepřátele ve hře na hrdiny Dungeons and Dragons (DnD). Práce popisuje problematiku výběru
vhodných nepřátel pro konkrétní družiny, následně analyzuje dosavadní funkční řešení, především webové a mobilní aplikace, které umožňují náhodné generování nepřátel dle zadané družiny
hráčů a dalších kritérií. Dále je v práci popsán výzkum mezi Dungeon Mastery, zaměřující se
na jejich spokojenost s dosavadními řešeními, jejich pohled na použitelnost těchto řešení v praxi
a podněty k tomu, co by měl ideální algoritmus na generování nepřátel zohledňovat a umožňovat. Algoritmus je v práci navržen na základě výsledků z provedených průzkumů a analýz
tak, aby co nejlépe pomohl Dungeon Masterovi v rozhodování při výběru vhodných nepřátel
pro svou konkrétní družinu hráčů a jejich herních postav. Toho je částečně dosaženo zohledněním schopností jednotlivých hráčských postav a vygenerovaných nepřátel navíc oproti běžným
kritériím, jako jsou level postav a challange rating nepřátel. Největší část na správné funkčnosti
algoritmu má však použití genetického algoritmu, kdy vytvořený algoritmus simuluje boj družiny
hráčů s jednotlivými skupinami vygenerovaných nepřátel a do výsledného návrhu nepřátel pro
Dungeon Mastera zařadí pouze takové výsledky simulace, které nejlépe odpovídají požadovaným
kritériím. Závěrem práce je vytvoření webové aplikace používající vytvořený algoritmus, samotné
testování při reálných partiích DnD a popis možností, jak lze na tuto práci v budoucnu navázat.
ETCS - Lektorské pracoviště - Nástroj pro vyhodnocení jízdy strojvedoucího
Autor
Jiří Čermák
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Kamil Dedecius, Ph.D.
Katedra
Anotace
ETCS je novým zabezpečovacím systémem, který je implementován na stále více a více úsecích železničních tratí v České Republice.
Tato práce navrhuje přístup ke klasifikaci dat zaznamenaných ze simulované jízdy a automatické detekci typu provedených chyb.
Výstupem práce je modul pro lektorské pracoviště, které je součástí ETCS trenažéru vytvořeném Fakultou Informačních Technologií ČVUT.
Nejprve byla analyzována zaznamenaná data a poté vytvořen upravený klasifikační model, který je schopný ne jen samotné klasifikace, ale i detekce chyb.
ETCS - Studie řízení projektu a kontroly kvality výstupů
Autor
Martin Čáslavský
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
Cílem této práce je zanalyzovat projektové řízení simulátoru ETCS a implementovat podpůrné programy pro usnadnění vývoje.
Práce se soustředí na identifikaci aktuálních problémů v řízení projektu a jejich následnou analýzu s cílem najít efektivní řešení.
Mezi implementované podpůrné programy patří skript na měření odpracovaného času a rozšířená komponenta JRU s vlastním logovacím systémem.
Tato aplikace, včetně grafického uživatelského rozhraní, má potenciál pomoci budoucím studentům při vývoji nových funkcionalit.
Práce tak přináší nový pohled na projekt a otevírá otázky týkající se jeho budoucnosti.
Backend pro tvorbu Dungeons and Dragons postav s uživatelským obsahem
Autor
Filip Čihák
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Marek Suchánek, Ph.D. et Ph.D.
Katedra
Anotace
Tato bakalářská práce se zabývá vývojem backend serveru webové aplikace pro tvorbu postav do hry Dungeons & Dragons. Vytvořená aplikace umožňuje definovat vlastní herní obsah, jako například třídy postav, kouzla a zbraně. Tyto prvky mohou hráči přidat do svých deníků postav a hrát tak např. za danou třídu či nosit danou zbraň. Backend je implementován v jazyce Java pomocí frameworku Spring Boot a pro perzistenci dat používá databázový systém MongoDB. Poskytuje rozhraní REST API, ze kterého čerpá autorka Žaneta Trošková ve své bakalářské práci pro frontend část aplikace. Na závěr je aplikace otestována a jsou navrhnuty možnosti pro budoucí rozšíření systému.
Systém pro detekci a monitoring verzí webových aplikací v interních síťových prostředích
Autor
Petr Morávek
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Václav Podlipný
Katedra
Anotace
Tato bakalářská práce se zaobírá problematikou detekce a monitoringu webových aplikací nasazených v interních síťových prostředích s operačním systémem Debian. V analytické části byly zkoumány nástroje, které umožňují sken síťového rozsahu a automatickou detekci webových aplikací. Na základě výsledků analýzy byl vytvořen návrh aplikace splňující požadavky zadavatele, jímž je firma Quanti s. r. o. Aplikace je schopna prozkoumat zadaný síťový rozsah a detekovat v něm nasazené běžící webové aplikace. Pro objevené webové aplikace je nástroj schopen detekovat jejich aktuální verzi, pokud je konkrétní webová aplikace součástí podporovaného seznamu. Uživatel je schopen seznam rozšířit a zadefinovat tak další pravidla, použitá při další detekci webových aplikací. Nástroj je dále schopen srovnávat aktuální verzi s nejnovějšími dostupnými verzemi a informovat tak uživatele o vhodné aktualizaci. Aplikace prozkoumává zařízení pomocí technologie SSH a data z webových adres získává za pomoci web scrapingu, avšak její zdrojový kód je navržený tak, aby mohla být v budoucnu snadno rozšířena o jiné postupy. Aplikace je implementována v jazyce Python a s uživatelem komunikuje pomocí API vytvořeného pomocí frameworku Flask. Aplikace byla řádně otestovaná v izolovaném prostředí, které nasimulovalo síťový prostor s běžícími webovými aplikacemi.
Webový frontend pro tvorbu postav do hry Dungeons and Dragons
Autor
Žaneta Trošková
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Marek Suchánek, Ph.D. et Ph.D.
Katedra
Anotace
Tato práce se zabývá vytvořením frontendové aplikace pro tvorbu postav ve hře Dungeons and Dragons. V práci jsou analyzovány již existující nástroje pro tvorbu D&D postav a konzultovány požadavky s konkrétní hráčskou skupinou. Na tomto základě je navrženo uživatelské rozhraní aplikace pomocí nástroje Figma. Aplikace je implementována ve frameworku React a využívá knihovny Material-UI pro tvorbu UI komponent. Vytvořená aplikace komunikuje přes API rozhraní s backend aplikací, kterou implementuje v rámci své bakalářské práce Filip Čihák. Pro zajištění kvality aplikace jsou vytvořeny manuální a automatické testy. Na závěr práce je provedeno usability testování a navrhnuta jednotlivá vylepšení pro budoucí vývoj aplikace.
ETCS - Aktualizace a nová architektura komponenty DMI
Autor
Tereza Neprašová
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Chludil
Katedra
Anotace
Tato práce se zabývá návrhem nové architektury a aktualizací komponenty DMI, která je součástí simulátoru ETCS. Projekt simulátoru vzniká ve spolupráci Fakulty informačních technologií a Fakulty dopravní ČVUT a je založen na reálném evropském vlakovém zabezpečovacím systému ETCS. Komponenta DMI představuje grafický displej, se kterým strojvedoucí vlaku interaguje. Na základě analýzy nedostatků předchozí architektury DMI a architektury zbylých komponent simulátoru představuje tato práce nový návrh, který se zaměřuje zejména na budoucí rozšiřitelnost a udržitelnost aplikace. Zároveň aktualizuje DMI z verze 2.3.0 na 4.0.0 podle oficiální dokumentace Evropské unie. Výstupem práce je implementace jádra aplikace, komunikace s ostatními komponentami simulátoru, vznik grafického frameworku pro uživatelské rozhraní a implementace několika obrazovek DMI. Aplikace je otestovaná i zdokumentovaná. Hlavním přínosem této práce je výrazné usnadnění a zrychlení budoucího vývoje aplikace a architektonické sjednocení s ostatními komponentami simulátoru.
ETCS - Aktualizace a nová architektura komponenty RBC
Autor
Ondřej Veselý
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
doc. Ing. Martin Leso, Ph.D.
Katedra
Anotace
Tato bakalářská práce se zaměřuje na analýzu a reimplementaci klíčové komponenty RBC ze
systému ETCS. ETCS je evropský vlakový zabezpečovací systém a tato práce je součástí simu-
látoru, který je vyvíjen ve spolupráci s Fakultou dopravní. Hlavní cíl je rozšiřitelnost a kvalita
kódu. Je kladen důraz na analýzu stávající implementace a dodržení specifikací ERA-ERTMS.
Výsledkem je kompletně přepsaná komponenta RBC v jazyce c++, sjednocená architektura mezi
již stávajícími ostatními komponentami ETCS a definované společné zprávy v repositáři CEM.
Tato práce byla klíčová pro posunutí projektu ETCS vpřed vzhledem k mnoha nesrovnalostem
mezi jednotlivými komponentami a potřebě jejich vzájemné spolupráce. Díky této práci se kom-
ponenty staly mnohem rozšiřitelnějšími, a co je důležitější, běží na stejné architektuře, takže
pochopení jejich fungování a následné rozšiřování je mnohem snazší.
The Secret of Meenees - Studie algoritmů procedurálního generování
Autor
Michal Sládek
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Radek Richtr, Ph.D.
Katedra
Anotace
Táto bakalárska práca sa zameriava na implementáciu 3 rozdielnych algoritmov, ktoré sú potom použité na procedurálnu generáciu istého typu videoherného levelu, dungeonu, pre hru The secret of Meenees. Táto hra bola vytvorená ako tímový projekt pre predmet BI-VHS. Rozličné spôsoby akými procedurálne generovať dungony sú analyzované rovnako ako aj iné hry, ktoré ich implementujú. Potom sú zvolené 3 rozdielne metódy na základe potrieb hry. Tie su navrhnuté a implementované vo forme skriptov pre herný engine Unity. Na koniec sú levely, ktoré boli vyprodukované týmito generátormi, testované a vyhodnetené členmi tímu, aby bola zistená ich kvalita.
WebAssembly paměťový debugger
Autor
Jakub Mareš
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Ladislav Vagner, Ph.D.
Katedra
Anotace
Možnost kompilace programů napsaných v programovacích jazycích s manuální režií paměti do WebAssembly vytvořilo potřebu existence WebAssembly paměťového dubuggeru s vlastnostmi podobnými nástroji Valgrind Memcheck. Výsledkem této práce je Wasm Doctor, WebAssembly paměťový debugger inspirovaný nástrojem Valgrind Memcheck. Důraz je především kladen na detekci chyb způsobených nedefinovanými hodnotami a špatnou prací s dynamickou alokací paměti. Detekce chyb souvisejících s pamětí funguje nejlépe pro programy napsané v jazyce C a kompilované překladačem Clang, protože použitý kompilátor ovlivňuje struktury uvnitř spustitelného souboru, které Wasm Doctor používá pro detekci chyb. Aplikací tohoto paměťového debuggeru je výukový nástroj Trainer, který se používá při cvičeních Programování a algoritmizace 1 a 2 na FIT ČVUT. Paměťový debugger používá shadow memory pro detekci chyb způsobených nedefinovanou pamětí. Namísto instrumentace, kterou používá Valgrind, používá Wasm Doctor existující interpret --- Toywasm. Tato práce též popisuje unikátní problémy, které souvisí s analýzou spustitelných souborů ve WebAssembly.
Tahová role playing hra v Godot engine
Autor
Minh Hieu Ta
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Adam Vesecký
Katedra
Anotace
Tato bakalářská práce se zabývá implementací tahové hry v Godot Engine 4.2 s užitím C#
jako hlavní programovací jazyk. Práce pokrývá proces vývoje od konceptu, k návrhu, až po
implementaci. Výsledkem je ukázkový projekt pro užití jako výukový materiál pro jednotlivce se
základními až středními znalostmi v programování, ale žádnými zkušenostmi s vývojem her.
Trainer - Kvízový a testový modul pre webový portál na podporu výučby
Autor
Matej Pašek
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Zikán
Katedra
Anotace
Cieľom tejto práce je popísať proces vývoja kvízového a testového modulu pre webový portál Trainer, ktorý slúži na podporu výučby vybraných predmetov na FIT ČVUT. Tento proces prebieha v niekoľkých fázach - analýza, návrh, implementácia a následné testovanie. Pre vývoj serverovej časti aplikácie, ktorá vystavuje REST API, je použitý framework Spring, pri vývoji webového rozhrania je použitý framework VueJS. Po vyvinutí sú tieto moduly následne integrované do systému Trainer a to ako serverová čast tak webové rozhranie, čím je dosiahnutý základný cieľ tejto práce - vytvorenie a integrácia týchto modulov do systému, aby mohli byť následne používané na cvičeniach (resp. obecne pri výučbe), alebo na individuálne štúdium. Aplikácia Trainer, spolu s týmito modulmi, je priebežne vyvíjaná a je dostupná na webovej stránke, po prihlásení ČVUT identitou. V prílohách tak isto je možné vidieť dokumentáciu API pre tieto moduly.
Editor behaviorálních stromů
Autor
Michael Moyal
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Bc. Ondřej Brém, MSc.
Katedra
Anotace
Tato bakalářská práce řeší potřebu moderního uživatelského rozhraní pro nástroje určené k vyvíjení behaviorálních stromů. Nejprve je provedena analýza existujících řešení spolu s kratkým úvodem do problematiky behaviorálních stromů. V rámci této práce je vyvíjena nová desktopová aplikace, která je navržená dle požadavků vývojářů z průmyslu, kteří s těmito nástroji denně pracují. Výsledkem práce je prototyp nového uživatelského rozhraní implementující některé vyžádané vlastnosti. Tento prototyp pak byl na těchto uživatelích otestován a poznatky z testování shrnuty. Další možnosti vývoje jsou pak také navrženy.
Forged in Lies - úrovně, prostředí a atmosféra
Autor
Martin Felkl
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Radek Richtr, Ph.D.
Katedra
Anotace
Tato práce se zabývá návrhem prostředí a atmosféry úrovní hry Forged in Lies, která vznikla jako skupinový projekt v rámci předmětu BI-VHS. K dosažení cílů práce byly použity dva programy, Blender a Unreal Engine 5. Blender byl použit k vytvoření 3D modelů stěn, podlah a dalších objektů, ze kterých jsou poskládány místnosti použité k vytvoření úrovní hry. Zbytek práce byl potom zpracován v programu Unreal Engine 5. K dosažení větší variability úrovní vznikl procedurální generátor inspirovaný algoritmem ze hry Binding of Isaac. Tento generátor používá předdefinovanou sadu místností, které skládá podle různých kriterií do jedné větší úrovně. Sada místností vznikla kombinací 3D modelů, materiálů, osvětlení a dalších vizuálních efektů, které dotváří výslednou atmosféru, jenž je také jednou z hlavních problematik, kterými se práce zabývá. Modely, materiály, vizuální efekty a další elementy vzniklé v této práci byly též použity k vylepšení úrovní předcházející této práci.
Diplomové práce
King Karel - Logická hra na výuku programování
Autor
Jan Bittner
Rok
2022
Typ
Diplomová práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Petr Pauš, Ph.D.
Katedra
Anotace
Magisterská práce se zabývá vývojem prototypu hry King Karel, logické hry na výuku programování. Práce popisuje proces analýzy, návrhu a implementace zmiňované hry s důrazem na návrh architektury jednotlivých částí. Klientská část je tvořena pomocí frameworku Flutter a serverová část je tvořena pomocí frameworku ASP.NET Web API.
Objektově-relační mapování pro přístup k databázi v jazyce JavaScript
Autor
Ladislav Louka
Rok
2023
Typ
Diplomová práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jaroslav Šmolík
Katedra
Anotace
Tato práce se zabývá balíčky a frameworky pro objektově relační mapování a tvorbu SQL dotazů pro technologii JavaScript, se zaměřením na podporu jazyka TypeScript. Cílem práce je porovnat podporu jazyka, schopnosti jednotlivých balíčků a jejich výkon. Práce poskytuje vývojářům informace, které jim pomohou při výběru vhodného balíčku pro jejich aplikaci.
Systém pro správu revizí tlakových nádob a techniky
Autor
Pavel Jordán
Rok
2024
Typ
Diplomová práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Monika Borkovcová, Ph.D.
Katedra
Anotace
Tato diplomová práce se zabývá návrhem a implementací nového systému pro správu revizí tlakových nádob a techniky, vytvářeného na míru pro firmu, kde pracuji. Začínám popisem domény revizí a potřebnou teorií. Procházím existující řešení na trhu a následně provádím kompletní analýzu funkcí systému jak současného řešení, tak i nových funkcí. Na základě této analýzy je pak vytvořen návrh aplikace s důrazem na jednoduchost a snadné použití. Další část této práce se věnuje implementaci systému, následuje jeho testování a ověření použitelnosti. Práce je zakončena nasazením systému pro použití.
Trainer - Webový portál pro podporu výuky programování
Autor
Ondřej Wrzecionko
Rok
2024
Typ
Diplomová práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Jiří Zikán
Katedra
Anotace
Práce se zabývá analýzou, návrhem, implementací, nasazením a testováním webového portálu pro podporu výuky programování ve dvou iteracích. Portál se skládá z frontendu implementovaného v technologii Vue.js a podpůrného backendu v technologii Spring Web. Systém umožňuje učitelům vytvářet programovací úlohy a organizovat je podle témat do lekcí, týdnů a kurzů. Studenti úlohy vyplňují a můžou svá řešení v případě potřeby konzultovat. Systém umožňuje automatické i manuální vyhodnocení úloh, přehled pokroku studentů v lekci i anonymizované promítání studentských řešení.
Systém je nasazen na infrastruktuře FIT ČVUT a byl za první dva semestry používán ve 2 předmětech a 16 paralelkách celkem 768 studenty a 17 učiteli, kteří v něm vytvořili přes 350 úloh. Studenti i učitelé systém hodnotí pozitivně a v budoucnu je plánováno jeho využití i v dalších předmětech a na dalších školách.
Studie využití jazykových modelů v příběhových hrách
Autor
Jiří Macháček
Rok
2024
Typ
Diplomová práce
Vedoucí
Ing. Jan Matoušek
Oponenti
Ing. Radek Richtr, Ph.D.
Katedra
Anotace
Tato práce se zabývá využitím velkých jazykových modelů k vyprávění herních příběhu prostřednictvím nehráčských postav. Nejmodernější postupy využívání velkých jazykových modelů umožňují s herními postavami volně komunikovat a využívat je k vyprávění konzistentního a koherentního příběhu. V práci jsou analyzovány v současné době nejlépe hodnocené velké jazykové modely, techniky jejich využití v praxi a kritéria jejich hodnocení. Součástí rešerše jsou i tradiční postupy pro tvorbu uvěřitelného příběhu a příběhových postav. Praktickým výsledkem práce je pak hratelný prototyp HaLLMark implementovaný v herním engine Unity. Prototyp slouží především k porovnávání velkých jazykových modelů z hlediska kvality generovaných příběhů a kvality zosobňování herních postav. Hratelný prototyp je přesně k tomuto účelu v průběhu testování využit k ohodnocení v současnosti nejvýkonnějších existujících velkých jazykových modelů. Prototyp HaLLMark však nezaostává ani z hlediska hratelnosti. Testery je chválen především neotřelý koncept hry a fakt, že velké jazykové modely jsou schopny se konzistentně držet jimi generovaného příběhu.