Témata bakalářských prací pro akademický rok 2021/2022

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.

Eduard Bartl

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: Informační technologie

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 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ů).

Digitalizace analogových audiozáznamů – téma již není volné

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

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.


Radek Janoštík

Editor a simulátor lekcí a aktivit pro Ozobot Color Codes

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

Student navrhne a realizuje editor lekcí a aktivit pro Ozobot Color Codes.


Miroslav Kolařík

Webová aplikace pro podporu výuky statistiky v geografii – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství

Cílem práce je vytvořit webovou aplikaci, která seznámí uživatele se statistikou v geografii, korelační analýzou a metodami zpracování geografických dat. Program bude určen pro zájemce o danou problematiku a také pro studenty geografických oborů, jakožto možnost procvičení a pochopení učiva do některých předmětů. Webová aplikace bude obsahovat vysvětlení dané problematiky z teoretického hlediska a sadu úkolů na procvičení. Registrovaným uživatelům s příslušnou rolí bude umožněno vytvářet, editovat a odstraňovat jednotlivé znalostní testy.

Program na podporu výuky japonského jazyka – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství

Cílem práce je vytvoření programu na podporu výuky japonského jazyka. Program bude umět jednotlivým uživatelům hlídat postup při učení. Program bude umožňovat následující styly výuky:
• Japonské abecedy Hiragana a Katakana
• Kanji
• Slovní zásoba dle úrovně Japanese-Language Proficiency Test N5 a N4
• Časování sloves a přídavných jmen

Využití rozkladů matic v informatice – téma již není volné

Vhodné pro studenty programu/specializace: Obecná informatika

Cílem práce bude pojednat o vybraných algoritmech na rozklad matic a některé z nich implementovat. Zejména se zaměří na QR rozklad a jeho využití při hledání vlastních čísel matice pomocí QR algoritmu. Také se bude věnovat SVD rozkladu, jehož praktické využití bude demonstrováno na kompresi dat. Dále pojedná o LU rozkladu, spektrálním a Choleského rozkladu a Schurově triangulaci.

Využití prvočísel při šifrování dat – téma již není volné

Vhodné pro studenty programu/specializace: Obecná informatika

Cílem práce bude popsat principy symetrického a asymetrického šifrování a konkrétní algebraické metody, které využívá. Nejvíce prostoru bude věnováno prvočíslům a modulární aritmetice. V práci bude také zahrnuto téma eliptických křivek, šifrování s veřejným klíčem a testování prvočíselnosti. Zároveň budou vybrané metody naprogramovány a demonstrovány na příkladech.

Vícekriteriální analýza variant – téma již není volné

Vhodné pro studenty programu/specializace: Obecná informatika

V písemné části práce bude popsáno téma vícekriteriálního rozhodování a nejpoužívanějších algoritmů spjatých s tímto tématem, včetně popisu jejich výhod a nevýhod. Jedna z kapitol se bude týkat i problematiky generování náhodných a pseudonáhodných čísel. V praktické části práce student popsané algoritmy implementuje a otestuje je na různých náhodných datech, která si sám vygeneruje. Následný výstup zapíše do grafu.


Jan Konečný

Kreslení trisvazů

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

Student naprogramuje software pro kreslení trisvazů


Petr Krajča

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í

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.

B-stromy s podporou transakcí – téma již není volné

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

Cílem práce je nastudovat různé varianty B-stromů s podporou (ACID) transakcí a implementovat vhodnou variantu v jazyce C nebo Java.


Michal Krupka

Lze v Common Lispu napsat rychlý program?

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

Kvalitní implementace Common Lispu obsahují různé nástroje na optimalizaci programu na rychlost. Uvádí se, že v některých případech je možné program optimalizovat tak, že bude stejně rychlý jako ekvivalentní program napsaný v C. Cílem práce je toto tvrzení ověřit. Student nastuduje a popíše možnosti optimalizace programu v Common Lispu a pokusí se je použít na vybrané reálné úkoly. Tyto úkoly současně vyřeší i v C a výsledky porovná. Jako hlavní implementace Common Lispu použije LispWorks a SBCL, případně CCL. V práci bude popsáno, do jaké míry (ve srovnání s programy napsanými v C) a za jakých okolností (pro jaké typy úloh, v jakých implementacích) lze programy napsané v Lispu optimalizovat.

Vývojové prostředí pro Paradigmata programování

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

Student ve spolupráci s vedoucím naprogramuje jednoduché vývojové prostředí nebo jeho ucelenou část, vhodné pro výuku předmětu Paradigmata programování. Kladný vztah ke Common Lispu, chuť pracovat a učit se nové věci jsou podmínkou.

Prototypový programovací jazyk

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

Student navrhne a implementuje interpret nebo kompilátor vlastního prototypového objektově orientovaného programovacího jazyka inspirovaného jazykem, který zná z posledních přednášek předmětu Paradigmata programování 3.

Experimentální porovnání programovacích paradigmat

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

Práce je určena dvojici studentů. Po dohodě s vedoucím si oba vyberou totéž čistě praktické téma aplikace, kterou budou programovat. Jeden ji bude psát v některém z běžných moderních jazyků (Java, C#), druhý v Common Lispu. Oba studenti by měli svůj vybraný jazyk dobře ovládat. Aplikaci dokončí do léta a poté budou od vedoucího dostávat návrhy na další úpravy a doplnění. Celou dobu budou pracovat nezávisle, na konzultace k vedoucímu budou chodit také nezávisle. Na závěr udělají společně porovnání a shrnutí: procesu tvorby aplikace, těžkostí, na které při práci narazili, snadnosti vnášení úprav na základě nových požadavků. Cílem by mělo být porovnání možností dvou zásadně odlišných jazyků a vývojových prostředí.

Deklarativní GUI

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

Popis uživatelského rozhraní aplikace se často podobá assembleru: stanovují se v něm údaje, které se dají chápat jako nízkoúrovňové: na pixely přesné umístění a rozměry jednotlivých prvků, jejich typ, barevnost a podobně. Student se pokusí ve spolupráci s vedoucím navrhnout po teoretické stránce a implementovat v Common Lispu prototyp systému uživatelského rozhraní postaveného na vyšší úrovni. Programátor v něm bude deklarativně stanovovat nikoli, jak má uživatelské rozhraní vypadat, ale k čemu má uživateli sloužit: jaké má mít vstupy, výstupy a podobně. Systém rozhraní pak sám vytvoří na základě dodatečných požadavků a pravidel správné tvorby GUI na příslušné platformě, kterou bude moci také deklarativně stanovit (zda je aplikace řádková, desktopová, mobilní, webová a podobně). Použitou metodou bude varianta logického programování.

Lokalizace místa pořízení fotografie

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

Mobilní aplikace vytvořená studentem se pokusí navést uživatele na přesné místo, ze kterého byla pořízena daná fotografie. V první fázi použije polohové služby (pokud fotka obsahuje patřičná metadata), ve druhé pak využije vhodné metody analýzy obrazu současně na fotku a obraz snímaný kamerou a podle výsledku bude uživatele navigovat na místo a směr, pro které se obrazy přesně překrývají. Část použitých metod je možné převzít ze služeb poskytovaných OS mobilu nebo existující knihovnou.

Objekty bez tříd a dědičnosti – téma již není volné

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

Ve spolupráci s vedoucím student navrhne a implementuje objektově orientovaný jazyk bez tříd a explicitní dědičnosti využívající základních poznatků formální konceptuální analýzy.

Možnosti GUI v Common Lispu – téma již není volné

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

Student prozkoumá možnosti použití grafických knihoven v Common Lispu. Důraz položí na knihovny přenositelné. V jedné nebo dvou vybraných pak napíše aplikaci dle vlastního výběru.


Jan Laštovička

Nikdy nezapomínající jazyk

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

John McCarthy je mezi informatiky známý mimo jiné jako tvůrce programovacího jazyka Lisp. Méně už se ví, že také navrhl jazyk Elephant 2000, který je založený na řečových aktech. Jazyk navíc nic nezapomíná a to umožňuje uživateli se prostředky jazyka odkazovat přímo na minulost. Například lze definovat, že pasažér leteckého spoje má rezervaci, pokud ji v minulosti udělal a přitom nezrušil. McCarthy navrhuje interpret jazyka popsaný prostředky logického programování. Cílem práce je podle návrhu napsat interpret jazyka Elephant 2000 a pokusit se na jistou jeho podmnožinu napsat kompilátor.

Malý lispový stroj

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

Velké stroje specializované na běh Lispu byly slavné v 80. letech 20. století. Tyto stroje se nazývaly Lisp machines. Dokonce i jejich operační systém byl napsaný v Lispu. V současnosti Lisp běží spolu s ostatními programy na běžných operačních systémech. Existuje ale i verze Lispu určená pro jednočipové počítače uLisp. Na jednočipovém počítači pak Lisp plní funkci jednoduchého operačního systému a s trochou zručnosti lze sestrojit i malý počítač postavený výhradně na Lispu. Viz Lisp Badge. Cílem práce je podobný počítač sestrojit a ukázat jeho použití.

Funkcionální uživatelské rozhraní – téma již není volné

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

Uživatelské rozhraní modelujeme funkcí, která vrací obsah okna. Události (například klik) obsloužíme funkcí, která má na vstupu popis události (například souřadnice kliknutí) a aktuální obsah okna. Funkce vrací nový obsah okna. Tento přístup nevylučuje použití objektů k modelování částí uživatelského rozhraní. Jen objekty nemůžou měnit svůj stav. Metody, které by tradičně měnily stav objektu, nyní musí vracet objekty nové. Například metoda měnící x-ovou souřadnici bodu vrátí nový bod se změněnou souřadnicí. Cílem práce je nejprve navrhnout výše nastíněné objektové uživatelské rozhraní, dále jej naprogramovat v jazyce Common Lisp s použitím knihovny CAPI pro LispWorks a nakonec použít knihovnu k napsání ukázkového programu.

Objektový modelovací jazyk – téma již není volné

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

Objektové modelovací jazyky reprezentují část reality modelem složeného z objektů, které jsou vzájemně provázány. Typy vazeb mezi objekty včetně jejich omezení definuje takzvaný meta-model, který sám je plnohodnotným modelem. Výzvou každého modelovacího jazyka je vytvoření uživatelského rozhraní, skrz které lze objekty pohodlně měnit. Cílem práce je navrhnou jednoduchý modelovací jazyk s uživatelským rozhraním a představit v něm ukázkový model.

Relační noSQL databáze – téma již není volné

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

V dnešní době se prosazují noSQL databáze, které oproti tradičním SQL databázím umožňují přímočařejší práci s daty. Například nenutí nejprve uživatele definovat schéma jeho dat. Uživatel může data do databáze rovnou vkládat. Jako příklad takové noSQL databáze si můžeme vzít MongoDB. Nutnost definovat schéma se obecně netýká relačních databází, ale jen databází založených na SQL. Diplomant se pokusí navrhnout a realizovat jednoduchý databázový systém, který bude stále založen na pevných relačních principech, ale bude umožňovat přímou manipulaci s daty známou právě z noSQL databází.

Neostré indexy – téma již není volné

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

Vyhledávací systém Elasticsearch dává nalezeným dokumentům skóre vyjadřující, jak dobře dokument dotazu vyhovuje. Přitom pravidla pro výpočet skóre nejsou ani přinejmenším přímočará. Pro usuzování o tom, do jaké míry dokument vyhovuje dotazu, by bylo možné použít fuzzy logiku, která má jasná a snadno použitelná pravidla. Cílem práce je navrhnout vyhledávací systém podobný výše zmíněnému systému Elasticsearch, který by byl založený na fuzzy logice.


Petr Osička

Správce oken pro X server – téma již není volné

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

Cílem je vytvořit na stromech založeného dlaždicového správce oken s pokročilou správou ploch. Je nutná ochota programovat v jazyce C a používat unixovou platformu (bsd* nebo linuxovou distribuci).

Herní engine pro 2D plošinové hry. – téma již není volné

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

Student navrhne a implementuje většinu komponent 2D herního enginu, přičemž rozumně minimalizuje závislost na externích knihovnách (po dohodě s vedoucím práce). Engine a vytvořené nástroje demonstruje na jednoduché hře. Nemám požadavky na platformu nebo programovací jazyk. Může být nutné věnovat programování spoustu času.

Tvorba programátorského textového editoru: datové struktury a algoritmy. – téma již není volné

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

Student nastuduje a v textu práce zpracuje datové struktury a algoritmy nutné k vytvoření jednoduchého programátorského textového editoru. Text doprovodí ukázkovou implementací takového editoru (stačí např. editor fungující pouze v konzoli).

Knihovna algoritmů pro barvení grafů – téma již není volné

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

Student z literatury nastuduje a v textu pojedná o problému barvení grafu, se zaměřením na efektivní algoritmy. Vybrané algoritmy poté implementuje do knihovny, nad kterou provede experimentální porovnání algoritmu. Očekává se ochota studovat odbornou literaturu a schopnost implementovat algoritmus (včetně experimentování s různými datovými strukturami atd.).


Jan Outrata

Editor svazů s rozšířenou visualizací svazu

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ů aj.

Více informací

Systém pro odevzdávání a evidenci závěrečných prací na VŠ – téma již není volné

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

Student vytvoří webovou aplikaci pro elektronické odevzdávání a evidenci závěrečných a jiných prací studentů na Katedře informatiky PřF UP. Odevzdávaná data k práci (text a implementovaný software) se budou po automatické kontrole ukládat na server katedry, vybraná část (text) se automaticky nahraje i do univerzitního informačního systému STAG. Evidované práce bude možné (veřejně i neveřejně) procházet v katalogu systému, vyhledávat a stahovat.

Více informací

Systém pro nabídku témat závěrečných prací na VŠ – téma již není volné

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

Student vytvoří webovou aplikaci pro nabídku témat závěrečných a jiných prací studentů na Katedře informatiky PřF UP. Témata do ní budou moci samostatně zadávat (a editovat) nejen vyučující katedry, ale i kdokoliv jiný, např. zástupci firem, s přístupem. Tato druhá témata bude moct vyučující klasifikovat (bakalářská vs. diplomová práce, vhodnost pro studijní program apod.), "adoptovat" (jako potenciální vedoucí práce) a "svoje" témata pak přidělit studentům. Student bude moct vyznačit svůj zájem o téma.

Více informací

Harmonogram státních závěrečných zkoušek na VŠ – téma již není volné

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

Student vytvoří software pro maximálně automatizovanou tvorbu harmonogramu konání státních závěrečných zkoušek (SZZ) na Katedře informatiky PřF UP. Software bude monitorovat seznamy studentů aktuálně zapsaných na zadaných termínech SZZ v univerzitním informačním systému STAG a podle zadaných pravidel při změně nebo požadavku automaticky generovat harmonogram a následně i podklad pro zkušební komisi. Harmonogram bude poté online na webu, podklad k tisku.

Více informací

Linux a doména a služby MS Windows? – téma již není volné

Vhodné pro studenty programu/specializace: Informační technologie

Student se seznámí s řešením domény (Active Directory) a dalších síťových služeb provozovaných na Katedře informatiky PřF UP na platformě MS Windows a důkladně prozkoumá, popíše a ukázkově realizuje možnosti jejich využití ze strany Linuxu jakožto klientské stanice. Zejména půjde o služby uživatelských účtů (autentizace, nastavení včetně změny hesla a uživatelských skupin, i lokálních) a domovských adresářů uživatelů na síťovém disku, včetně korektního nastavení (tradičních unixových) přístupových práv, vyváření některých speciálních souborů (symbolický odkaz, FIFO, socket), příp. zobrazení omezení zabrané kapacity (kvóta).

Více informací

Hra typu adventura v budově fakulty – téma již není volné

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

Student navrhne hru typu adventura pro jednoho nebo i více hráčů spočívající v řešení zábavnou formou různých hádanek a úkolů pro postup ve hře ke splnění cíle. Prostředím hry bude hlavní budova přírodovědecké fakulty, hádanky a úkoly by tedy měly být motivované školním a výzkumným prostředím. Následně student hru realizuje v 3D herním engine Unreal Engine. K tomu využije budovu fakulty již zpracovanou v tomto engine. Práce je určena pro propagační účely katedry a fakulty a tomu by měla odpovídat i výsledná hra.

Více informací

Markéta Trnečková

Hra pro výuku programování

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

Simulátor polysomnografického (PSG) systému – 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 vytvořit počítačový SW, který bude zobrazovat na PC věrnou kopii PSG SW systému, který se používá pro online titraci pacientů ve spánkové laboratoři.

Web pro vytváření učebních textů – téma již není volné

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

Cílem bakalářské práce je vytvořit webovou stránku, která bude sloužit k vytváření učebních textů. Do textů bude možné vkládat obrázky, zdrojové kódy, tabulky, rovnice a odkazy na ně. Webovou stránku bude možné exportovat také do PDF.

Export webové stránky do PDF – téma již není volné

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

Cílem bakalářské stránky je vytvořit aplikaci pro export celé webové stránky do jednoho PDF. V aplikaci by mělo být možné nastavit výsledný vzhled exportované stránky (například, zda se má exportovat i pozadí stránek, obrázky a jiné), počet úrovní zanoření stránek a jiné.

Aplikace pro převod fotografie na kreslený obrázek – téma již není volné

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

Cíle práce je vytvořit aplikaci, která převede fotografii na kreslený obrázek.


Tomáš Urbanec

Procedurálně generovaný obsah do hry typu Dungeons & Dragons – téma již není volné

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

Do RPG her typu Dungeons & Dragons, Dračí doupě, Pathfinder, ... lze mnoho obsahu generovat procedurálně. Cílem práce bude toto téma nebo jeho část nastudovat, popsat a generování obsahu implementovat do použitelné aplikace. Přesnou formu a obsah implementační části nastavíme dle studentových zájmů.


Arnošt Večerka

Sekvenční diagramy

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

Cílem práce je sestavit aplikaci umožňující sestavování sekvenčních diagramů.

Simulátor instrukční sady x86

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

Cílem je sestavit program pro simulaci vykonávání kódu s instrukcemi architektury x86.

Diagramy datových toků

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 umožňující sestavování diagramů datových toků.