Témata bakalářských prací pro akademický rok 2024/2025
Výběr tématu probíhá ve 4. semestru v následujících krocích:
- Na začátku března jsou na webu katedry zveřejněna témata bakalářských prací.
- Do konce dubna si studenti zvolí vedoucího práce a téma. Zpravidla si volí téma vypsané vyučujícím katedry informatiky, je možné si však vybrat i téma vlastní.
- Do konce května vloží student do STAGu název tématu v českém a anglickém jazyce, anotaci a seznam literatury.
- Ze STAGu pak vytiskne podklad pro zadání, nechá ho podepsat vedoucím práce a odevzdá sekretářce katedry.
Studenti by si měli vybírat téma vhodné pro svůj studijní program/specializaci. Studentům specializace Obecná informatika doporučujeme zvolit si téma některého z vyučujících katedry. Pokud nebude student vědět, jaké téma si vybrat, kontaktuje zástupce vedoucího katedry pro výuku.
Kromě níže uvedených témat může student navrhnout vlastní téma. S tímto tématem může oslovit libovolného vyučujícího, přednostně však ty, do jejichž oblastí zájmu navržené téma spadá. Pokud student nebude vědět, jaké téma si vybrat, může kontaktovat zástupce vedoucího katedry pro výuku, který mu s výběr poradí.
Jiří Balun
Model checking
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software BioinformatikaCílem práce je nastudovat, implementovat a porovnat vybráné algoritmy z oblasti Model Checkingu.
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaKnihovna v jazyce Python
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie BioinformatikaStudent implementuje knihovnu v jazyce Python dle svého výběru.
Grafický editor konečných automatů – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareCílem práce je implementovat grafický editor konečných automatů, který uživateli umožní provádět základní operace, jako je například determinizace nebo minimalizace. Editor by také měl umět importovat vybrané typy formátů konečných automatů a exportovat do latexu.
Eduard Bartl
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaStudentem vybrané téma. Upřednostňuji témata, která mají vztah k počítačové grafice, analýze a zpracování digitálního obrazu nebo kryptografii.
Digitalizace analogových audiozáznamů
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie UčitelstvíDiplomant prostuduje problematiku digitalizace analogových audiozáznamů. Navrhne a realizuje levné řešení digitalizace analogového záznamu uloženého na magnetofonovém pásku a vytvoří jednoduchý program pro úpravu digitalizovaného záznamu.
Reprezentace množiny všech řešení relačních rovnic
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíDiplomant nastuduje problematiku řešení relačních rovnic. Podrobněji se zaměří na efektivní ukládání a zobrazování všech řešení a omezených řešení těchto rovnic.
Domácí zabezpečovací systém – téma již není volné
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie UčitelstvíDiplomant vytvoří jednoduchý zabezpečovací systém použitelný v domácnostech. Řešení bude postaveno na platformě Arduino.
Počítačová podpora klasické animace – téma již není volné
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie UčitelstvíDiplomant vytvoří mobilní aplikaci pro podporu klasické 2D animace. Aplikace bude umožňovat pořizování jednotlivých snímků, vytvoření animace z těchto snímků, uložení animace v několika formátech a editaci snímků i animace (kromě běžných editačních úkonů by se jednalo zejména o interpolaci snímků pro vytvoření plynulého pohybu, dále pak klíčování pozadí, vkládání hudby, zvukových i jiných efektů).
Radim Bělohlávek
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíStudent sám navrhne téma své práce. Upřednostňuji témata z oblasti diskrétní matematiky, grafů, logiky, popř. umělé inteligence, stojového učení a analýzy dat.
Algoritmy pro binární matice
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíStudent nastuduje a implementuje vybrané algoritmy pro práci s binárními maticemi. Algoritmy vybere ve spolupráci s vedoucím práce.
Základní algoritmy pro faktorizaci binárních matic
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíFaktorizace binárních matic umožňuje najít datech, která popisují objekty a jejich atributy, významné a na první pohled neviditelné proměnné, tzv. faktory, s jejichž pomocí lze s objekty pracovat efektivněji. Student nastuduje a implementuje základní algoritmy faktorizace binárních matic a otestuje je na vybraných datech.
Neuronové sítě s diskrétními signály
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíStudent nastuduje a implementuje algoritmy učení a vybavování v asociativních neuronových sítích (zvaných též Hopfieldovy sítě podle Johna Hopfielda, který za jejich objev získal v roce 2024 Nobelovy cenu). Ve spolupráci s vedoucím práce se pokusí rozšířit některé existující algoritmy pro nové typy problémů.
Fuzzy relace a operace s nimi
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software UčitelstvíStudent nastuduje, popíše a implementuje známé i méně známé operace s fuzzy relacemi. Popíše také jejich historický vývoj a jejich vlastnosti.
Eliška Foltasová
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaMáte-li vlastní nápad na téma bakalářské práce a máte-li zájem ji psát pod mým vedením, dejte mi vědět a domluvíme se.
Petr Jančar
Spodní hranice složitosti problému dosažitelnosti v reverzibilních Petriho sítích
Vhodné pro studenty programu/specializace: Obecná informatikaNastudujte článek Ernst W Mayr, Albert R Meyer: The complexity of the word problems for commutative semigroups and polynomial ideals, Advances in Mathematics, Volume 46, Issue 3, December 1982, Pages 305-329, speciálně jeho pasáže, které se dají přirozeně formulovat ve formalismu reverzibilních Petriho sítí. (Konkretizace vyplyne z konzultací s vedoucím práce.) Jako těžiště práce je zamýšleno podrobné pochopení důkazu exponenciální spodní hranice pro problém dosažitelnosti v příslušných sítích, jeho transparentní prezentace (která může být podpořena vhodnou softwarovou aplikací) a prozkoumání otázky strukturální (ne)omezenosti těchto sítí.
Dobře vytvořené Petriho sítě s volným výběrem (well-formed free-choice nets)
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwarePo konzultaci s vedoucím práce nastudujte známé polynomiální algoritmy rozhodující, kdy je daná síť s volným výběrem dobře vytvořená (well-formed). Algoritmy implementujte a porovnejte.
Miroslav Kolařík
Program na podporu výuky
Vhodné pro studenty programu/specializace: UčitelstvíPo vzájemné dohodě si student vybere vhodné téma, které zpracuje jako interaktivní výukový program spolu s učebním textem adekvátního rozsahu.
Jan Konečný
Procedurální generování obsahu ve videohrách – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieVývoj algoritmů pro generování herních světů, levelů, příběhů nebo postav na základě určitých pravidel nebo parametrů. Cílem je zkoumat nové metody pro vytváření bohatšího a proměnlivějšího herního obsahu (možno vypsat několikrát, pro různá pod témata).
Minecraft modding – téma již není volné
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologieCílem této práce je analyzovat proces vývoje modifikací pro hru Minecraft s využitím dostupných moddingových frameworků (např. Forge, Fabric, NeoForge). Práce se zaměří na technické aspekty tvorby modů, jejich integraci do hry a možnosti rozšíření herního obsahu. Součástí bude praktická ukázka implementace vlastního modu a jeho optimalizace z hlediska výkonu a kompatibility.
Personifikace požadavků SZZ – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieStudent naprogramuje systém který umožňuje vytvořit studentům seznam požadavků, které se jich přímo týkaji (tedy z let, ve kterých absolvovali jednotlivé předměty, z vybraných volitelných předmětů, atd)
Slider puzzle generátor – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareCílem této práce je navrhnout a implementovat generátor posuvných skládaček (slider puzzle), které jsou běžné v logických hrách. Systém umožní automatické generování herních desek různých velikostí a obtížností. Práce se zaměří na algoritmy pro zajištění řešitelnosti generovaných skládaček a možnosti jejich úpravy. Součástí bude i uživatelské rozhraní pro interaktivní hraní a analýza efektivity generovaného obsahu.
Generátor úrovní pro hru Sokoban – téma již není volné
Vhodné pro studenty programu/specializace:Cílem této práce je navrhnout a implementovat generátor úrovní pro logickou hru Sokoban. Systém umožní automatické vytváření hratelných úrovní s různou obtížností a různými rozměry. Práce se zaměří na algoritmy pro generování řešitelných úrovní, optimalizaci jejich složitosti a možnosti úprav dle zadaných parametrů. Součástí bude také analýza kvality generovaných úrovní a případné způsoby jejich hodnocení.
Petr Krajča
Význam mikrooptimalizací pro celkovou rychlost programu
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieDiplomant 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.
Language Server Protocol a jeho použití
Vhodné pro studenty programu/specializace: Programování a vývoj softwareDiplomant si nastuduje problematiku protokolu LSP (Language Server Protocol), který umožňuje obohatit textové editory a vývojové prostředí o podporu konkrétních programovacích jazyků. A následně prakticky demonstruje implementaci tohoto protokolu pro jím zvolený (jednoduchý) programovací jazyk.
Key-value store pro velká data
Vhodné pro studenty programu/specializace: Programování a vývoj softwareCílem práce je navrhnout a implementovat uložiště dat ve tvaru klíč-hodnota. Toto uložistě by mělo být schopno efektivně ukládat a vracet data různě velkých rozsahů, od desítek bytů až po gigabyty.
Parser jako knihovna a doménově specifický jazyk
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareTradičně jsou parsery vytvářeny specializovanými nástroji na základě popisu gramatiky. Tyto nástroje i popisy jsou však odděleny od programovacích jazyků, které je používájí, což může zpomalovat vývoj. Cílem práce je proto prozkoumat, jak by bylo možné, nejlépe formou knihovny, integrovat parser a popis gramatiky do běžně používaných programovacích jazyků jako Java nebo C# a usnadnit tak vývoj překladačů.
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaVizualizace algoritmů používaných v relačních databázích
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie UčitelstvíCílem práce je vytvořit aplikaci, která bude graficky demonstrovat algoritmy používané v relačních databázových systémech. Zejména se bude jednat o algoritmy pro výpočet restrikce, spojení a množinové operace (popř. jejich kombinace). Aplikace by měla obsahovat jak vzorová data, na kterých bude možné vlastnosti algoritmů ukázat, tak mít možnost nahrát data vlastní.
Deklarativní tvorba diagramů
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie UčitelstvíCílem práce je vytvořit snadno použitelný deklarativní jazyk pro tvorbu diagramů a nástroj, který bude generovat výsledné diagramy v nejběžnějších grafických formátech.
Nástroj pro přípravu dat – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaPři analýze se dat se velice často setkáme s problémem, že tvar dat, které máme, neodpovídá tvaru, který potřebujeme. Cílem práce je proto vytvořit nástroj, který na vstupu bude mít obecnou tabulku a který na základě pokynů uživatele ji přetransformuje do požadované podoby. Nástroj by měl fungovat jednak jako grafická aplikace, aby uživatel mohl data transformovat interaktivně, a současně jako nástroj do příkazové řádky, který bude schopen data transformovat na základě zadaných instrukcí.
Michal Krupka
Libovolné téma po dohodě
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareTomáš Kühr
Využití umělé inteligence ve výuce
Vhodné pro studenty programu/specializace: UčitelstvíCílem práce bude důkladně zmapovat aktuální možnosti umělé inteligence, popsat dostupné nástroje využívající umělou inteligenci a navrhnout začlenění těchto nástrojů do výuky na střední (případně i základní) škole. Výstupem by měla být sada metodicky podrobně rozpracovaných výukových aktivit pro větší množství vzdělávacích oborů.
Počítačová hra pro podporu výuky zvoleného neinformatického předmětu
Vhodné pro studenty programu/specializace: UčitelstvíCílem práce bude navrhnout a implementovat jednoduchou počítačovou hru, která by měla sloužit pro podporu výuky zvoleného neinformatického předmětu. Jedná se o rámcové téma, které může být vybráno více studenty, kteří budou vytvářet hry pro různé vyučovací předměty.
Software pro výuku fyziky
Vhodné pro studenty programu/specializace: UčitelstvíCílem práce bude vytvoření software pro zábavnou formu výuky fyziky. Student si po dohodě s vedoucím práce zvolí oblast fyziky (astrofyzika, elektřina a magnetismus, ...), které se bude věnovat. Téma může být zvoleno více studenty, kteří vytvoří výukové nástroje pro různé oblasti fyziky.
Jan Laštovička
Hoareho jazyk
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareHoareho logika (nebo také programová logika) je systém pravidel určený k dokazování vlastností imperativních programů. Cílem práce je vytvořit programovací jazyk, který by umožnil zmíněná pravidla používat. Programátor by tak mohl zadat vlastnost programu a detaily nutné k jejímu ověření. Například u programu řadící čísla v poli by bylo možné strojově ověřit jeho správnost.
Relační algebra s doplňkem
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareRelační algebra navržená E. F. Coddem neobsahuje operaci doplňku. Důvod je na první pohled jasný: doplněk konečné relace je většinou relace nekonečná. Nicméně, přestože se jedná o nekonečnou relaci, lze ji jednoduše reprezentovat v paměti počítače, protože má konečný doplněk. Poměrně snadno lze rozšířit operace relační algebry tak, aby operovaly i nad relacemi s konečným doplňkem. Cílem práce je pokusit se představený návrh implementovat pro SQL databáze.
Nepřesné výpočty s velkými čísly
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwarePři práci s veličinami nás často zajímá jen jejich přibližná hodnota. Například stačí vědět, že vzdálenost Olomouce a Prahy po silnici je přibližně dvě stě padesát miliónů milimetrů. Cílem práce je vytvořit knihovnu, která po zadání výpočtu rychle poskytne přibližný výsledek. Uživatel bude mít možnost nechat výsledek zpřesnit dalším výpočtem.
Vlastní téma
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologie Učitelství BioinformatikaPřijímám i práce na vlastní zajímavá témata.
関連
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologieJaponské slovo 関連 vyslovené jako kanren znamená v češtině relace. Je jím také označována rodina knihoven pro logické programování napsaná čistě funkcionálně. Cílem práce je vytvořit aplikaci používající Kanren podstatným způsobem.
Zásobníkový jazyk pro mikrokontroler
Vhodné pro studenty programu/specializace: Programování a vývoj softwarePro svoji jednoduchost a současně dynamickou povahu byly zásobníkové jazyky v čele s jazykem Forth populární při programování vestavěných systémů. Příkladem je digitální kontrola kamery Dykstraflex použitá při natáčení prvních Star Wars z roku 1977. Cílem práce je vytvořit jednoduchý zásobníkový jazyk pro programování jednočipových počítačů. Student se může inspirovat zásobníkovým jazykem z Paradigmat programování 2.
Objektový jazyk podle Platóna
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareKdyž si programátor čte o Platónově světě idejí, nemůže si nevšimnout příbuznosti pojmu třídy z objektového programování a pojmu ideje. Například instance třídy popisující úsečky je v podstatě objektem, který má podíl na ideji úsečky. Cílem práce je navrhnout objektový jazyk tak, jak by jej mohl vymyslet Platón.
Modelování neúplné informace pomocí projekcí
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareRelační model neumožňuje přímo zachytit chybějící data. Přitom neúplnou informaci o nějaké relaci můžeme modelovat tak, že z ní známe jen určité její projekce. Například uvažujme relaci filmů navštívených v kině. Pokud si u nějakého filmu nepamatujeme, v kterém roce jsme jej viděli, víme jen, že se nachází v projekci relace neobsahující rok navštívení kina. Cílem práce je uvedený přístup rozvést.
Komponentové uživatelské rozhraní
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieKomponenta uživatelského rozhraní je určena třemi prvky: zaprvé funkcí, která stavu komponenty přiřadí obsah uživatelského rozhraní; zadruhé funkcí, která přiřadí stavu a uživatelské akci požadovaný stav; a zatřetí počátečním stavem. Takto můžeme popsat uživatelské rozhraní čistě funkcionálně. Cílem práce je napsat knihovnu, která by nabízela základní komponenty, jako je tlačítko, popisek nebo textové pole, a umožňovala komponenty skládat do sebe -- například tak, že by zadané komponenty uspořádala do řádku.
Petr Osička
Immediate mode grafické uživatelské rozhraní
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareVíce informací
Experimenty s algoritmy pro nedeterministické automaty – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwareVíce informací
Jan Outrata
Virtual PC builder
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie UčitelstvíPředmětem práce je vytvoření interaktivní aplikace pro sestavování modelu osobního počítače (PC) z virtuálních komponent. Aplikace bude používat rozšiřitelný katalog komponent, které bude možné dle zadaných vlastností spolu vizuálně kombinovat za účelem vytvoření grafického modelu funkčního počítače. Budou zobrazeny i vyznačené součásti komponent, které mají vliv na kombinovatelnost komponent. Aplikace je určená pro výukové účely.
Více informacíEditor svazů s rozšířenou visualizací svazu – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj softwarePráce bude spočívat v rozšíření grafické aplikace pro visualizaci (Hasseova diagramu) svazů JLatVis napsané v Javě o podporu editace svazu a podle dohody další možnosti zobrazení svazů jako např. vyznačení části svazu, uložení stylů zobrazení svazu ve formě profilů, (univerzální) grafické nastavení metod pro vytvoření diagramu svazu, současné zobrazení více svazů spolu se vztahy mezi prvky (nebo množinami prvků) různých svazů, export do TikZu aj.
Více informacíLinux Wi-Fi Analyzer – téma již není volné
Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologiePředmětem práce je vytvoření grafické aplikace typu Wi-Fi analyzer pro operační systém Linux, zobrazující pro zařízení dostupné Wi-Fi sítě poskytované přístupovým bodem (AP) nebo tzv. ad hoc. Podobně jako např. aplikace LinSSID bude přehledně průběžně zobrazovat aktuální parametry sítí (jako jméno, adresu AP, frekvenční kanál, info o zabezpečení aj.) a grafy síly a kvality signálu sítí pro všechny frekvenční kanály (všech pásem běžně používaných pro Wi-Fi, 2,4, 5 i 6 Ghz) a v čase. Pro získávání informací o sítích bude využit nástroj iw.
Více informacíArnošt Večerka
Simulátor mikrokontrolérů architektury TinyAVR
Vhodné pro studenty programu/specializace:Sestavit aplikaci umožňující simulaci činnosti mikrokontrolérů TinyAVR.
Aplikace pro cyklistiku – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieCílem práce je sestavit aplikaci umožňující zaznamenávání a plánování cyklistických výprav.
Vizualizace algoritmů vyhledávání – téma již není volné
Vhodné pro studenty programu/specializace:Cílem bakalářské práce je vytvořit aplikaci, která demonstruje činnost algoritmů vyhledávání.
Simulátor mikrokontrolérů architektury 89LP51 – téma již není volné
Vhodné pro studenty programu/specializace: Obecná informatika Programování a vývoj software Informační technologieSestavit aplikaci umožňující simulaci činnosti mikrokontrolérů 89LP51.
Jiří Zacpal
Informační systém pro MŠ – téma již není volné
Vhodné pro studenty programu/specializace: Informační technologieWebová aplikace, která by měla vhodným způsobem pokrývat informační potřeby mateřské školy: prezentace MŠ, komunikace s rodiči, ...
Informační systém pro sportovní oddíl – téma již není volné
Vhodné pro studenty programu/specializace: Informační technologieWebová aplikace, která by měla poskytovat služby informačního systému: informovat o dění v klubu rodiče a hráče, zajistit komunikaci mezi vedením klubu, rodiči a hráči, vést kalendář tréninků a utkání, spravovat výběr členských příspěvků, ...
Pomůcka pro výuku jazyka SQL – téma již není volné
Vhodné pro studenty programu/specializace: Informační technologieWebová aplikace, která by vhodnou formou umožňovala procvičovat jazyk SQL.
Evidence docházky – téma již není volné
Vhodné pro studenty programu/specializace: Informační technologieWebová aplikace, která má zjednodušit evidenci a vykazování docházky zaměstnanců.
Desková hra – téma již není volné
Vhodné pro studenty programu/specializace: Informační technologieCílem práce je vytvořit elektronickou variantu moderní deskové hry dle domluvy se studentem (mobilní, počítačová, webová, ...). Hra by měla umožňovat hru proti počítači a síťovou hru.