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:

  1. Na začátku března jsou na webu katedry zveřejněna témata bakalářských prací.
  2. 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í.
  3. Do konce května vloží student do STAGu název tématu v českém a anglickém jazyce, anotaci a seznam literatury.
  4. 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 Bioinformatika

Cí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í Bioinformatika

Knihovna v jazyce Python

Vhodné pro studenty programu/specializace: Programování a vývoj software Informační technologie Bioinformatika

Student 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 software

Cí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í Bioinformatika

Studentem 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í Bioinformatika

Má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á informatika

Nastudujte č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 software

Po 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í technologie

Vý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í technologie

Cí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í technologie

Student 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 software

Cí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í technologie

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.

Language Server Protocol a jeho použití

Vhodné pro studenty programu/specializace: Programování a vývoj software

Diplomant 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 software

Cí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 software

Tradič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í Bioinformatika

Vizualizace 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í Bioinformatika

Př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 software


Tomáš 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 software

Hoareho 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 software

Relač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 software

Př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í Bioinformatika

Př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í technologie

Japonské 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 software

Pro 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 software

Když 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 software

Relač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í technologie

Komponenta 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 software

Více informací

Vlastní téma

Vhodné pro studenty programu/specializace:

Ví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 software

Ví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 software

Prá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í technologie

Př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í technologie

Cí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í technologie

Sestavit 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í technologie

Webová 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í technologie

Webová 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í technologie

Webová 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í technologie

Webová 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í technologie

Cí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.