Követelmények és LaTeX sablon
- Témafelvételi lap
- Nyilatkozat
- Formai és tartalmi követelmények
- LaTeX stílus programtervező informatikus szakdolgozathoz
- Használati útmutató a LaTeX sablonhoz
- LaTeX telepítési útmutató
Szakdolgozat témák
Reed-Solomon kódok számítógépes prezentálása, oktatást segítő program készítése
Tárgykör: Kódelmélet
Témavezető: Dr. Rakaczki Csaba
Leírás: Napjainkban, amikor hihetetlen mennyiségű információs adatot küldünk különböző csatornákon szinte minden másodpercben, különösen fontossá váltak az úgynevezett hibajavító kódolási algoritmusok. Ezen algoritmusok segítenek nekünk abban, hogy az információnak a csatornán való átküldése esetén bekövetkező hibákat észlelni tudjuk, illetve a hibákat ki is tudjuk javítani. A szakdolgozat célja a ciklikus Reed-Solomon hibajavító kódok elméletének ismertetése, számítógépes prezentálása.
BCH-kódok számítógépes prezentálása, oktatást segítő program készítése
Tárgykör: Alkalmazásfejlesztés
Témavezető: Dr. Rakaczki Csaba
Leírás: Napjainkban, amikor hihetetlen mennyiségű információs adatot küldünk különböző csatornákon szinte minden másodpercben, különösen fontossá váltak az úgynevezett hibajavító kódolási algoritmusok. Ezen algoritmusok segítenek nekünk abban, hogy az információnak a csatornán való átküldése esetén bekövetkező hibákat észlelni tudjuk, illetve a hibákat ki is tudjuk javítani. A szakdolgozat célja az úgynevezett BCH hibajavító kódok elméletének ismertetése, számítógépes prezentálása.
Lineáris algebrai vizsgafeladatok számítógépes generálása, oktatást segítő program készítése
Tárgykör: Alkalmazásfejlesztés
Témavezető: Dr. Rakaczki Csaba
Leírás: Számos lineáris algebrai feladat (mátrix inverzének, determinánsának, sajátértékeinek kiszámítása, lineáris egyenletrendszerek megoldása stb.) jelenti a kiindulási alapját különböző gazdasági és matematikai (pl szállítási, optimalizálási) problémák megoldásának. Ennek következtében, szinte minden valamilyen természettudománnyal kapcsolatos szakot választó hallgató órái között megtalálható a Lineáris Algebra tárgy. A szakdolgozat célja, hogy a pivotálási technika felhasználásával és leprogramozásával olyan alkalmazást készítsünk, ami alkalmas arra, hogy a Lineáris Algebra tárgyhoz vizsgafeladatokat generáljon a megoldásokkal együtt.
A sakktáblán található matematikai probélmák számítógépes megoldása, szemléltetése
Tárgykör: Számítógépes modellezés
Témavezető: Dr. Rakaczki Csaba
Leírás: A sakktáblán számos matematikai problémát lehet vizsgálni. Ezek közé tartozik például a sakktáblának huszárral való bejárásának kérdése, a sakktáblára elhelyezhető maximális számú egymást nem támadó vezérek problémája, vagy például a sakktábla összes mezőjét támadó minimális számú sakkfigura elhelyezésének problémája. A szakdolgozat célja a fentiekhez hasonló problémák matematikai és számítógépes vizsgálata, megoldásának számítógépes szemléltetése.
Részvénykereskedési stratégiák összehasonlítása
Tárgykör:
Témavezető: Dr. Karácsony Zsolt
Leírás: Hosszú és rövidtávú lehetőségek bemutatása példákon keresztül. Osztalékfizetés kontra EVA alapú befektetések elemzése múltbéli adatok alapján. Alkalmas platform választása a kapott eredmények bemutatására.
Kriptovilág fejlődése
Tárgykör:
Témavezető: Dr. Karácsony Zsolt
Leírás: Rövid történelmi áttekintés, kripto anarchizmus bemutatása, céljai és lehetőségeik. BTC és altcoinok bemutatása, felezési idők, bányászás és a validálás. Centralizált és decentralizált láncok és szerepük a 2025-ös évben. Alkalmas platform választása a kapott eredmények bemutatására.
Opciókereskedés és ami mögötte van
Tárgykör:
Témavezető: Dr. Karácsony Zsolt
Leírás: Alap stratégiák bemutatása, összehasonlítása. Opciós görögök értelmezése és szemléltetése. Múltbéli adatokra támaszkodva stratégiák szimulálása, elemzése. Alkalmas platform választása a kapott eredmények bemutatására.
Kripto opciós kereskedés napjainkban
Tárgykör:
Témavezető: Dr. Karácsony Zsolt
Leírás: Áttekintés, elérhető termékek bemutatása, platform bemutatása.
ChatGPT és a kereskedés
Tárgykör:
Témavezető: Dr. Karácsony Zsolt
Leírás: Hogyan lehet használni a mesterséges intelligenciát a kereskedésbe, tanulásra, elemzésre. Lehetőségek és korlátok bemutatása, szimulációk készítése.
Bőrszín detektálás képfeldolgozási algoritmusokkal
Tárgykör: Arcfelismerés és biometrikus azonosítás
Témavezető: Dr. Hornyák Olivér
Leírás: A hallgató célja olyan képfeldolgozási algoritmusok kifejlesztése és finomítása, amelyek hatékonyan képesek a bőrszínek detektálására különböző fényviszonyok között. A munka során különböző színszűrők, észlelési modellek és technikák használata történik.
- Technológiák: OpenCV, Python (NumPy, Scikit-image)
- Kihívás: A különböző fényviszonyok és bőrtónusok pontos detektálása.
Mélytanulási modellek alkalmazása bőrszín felismerésére képeken
Tárgykör: Arcfelismerés és biometrikus azonosítás
Témavezető: Dr. Hornyák Olivér
Leírás:
A hallgató mélytanulási (deep learning) modelleket alkalmaz a bőrszín detektálására. A diplomamunka célja egy olyan neurális hálózat fejlesztése és tréningezése, amely képes a bőrszínt különböző szögből, távolságból és megvilágításból készült képeken pontosan felismerni.
- Technológiák: Python (TensorFlow, Keras), PyTorch
- Kihívás: Nagy mennyiségű képes adat előkészítése és a modell pontosságának növelése.
Bőrtónus felismerés különböző színterek használatával
Tárgykör: Arcfelismerés és biometrikus azonosítás
Témavezető: Dr. Hornyák Olivér
Leírás:
A projekt célja, hogy a hallgató különböző színtér modelleket (pl. RGB, HSV, YCbCr) alkalmazzon és összehasonlítson bőrtónus felismerésére. A munka során elemzések készülnek arról, hogy melyik színtér nyújtja a legjobb eredményt a bőrszín detektálására változó körülmények között.
- Technológiák: OpenCV, Python
- Kihívás: A megfelelő színtér kiválasztása a bőrtónus pontos felismeréséhez.
Bőrszín detektálás valós idejű videófolyamban
Tárgykör: Arcfelismerés és biometrikus azonosítás
Témavezető: Dr. Hornyák Olivér
Leírás:
A hallgató valós idejű videófeldolgozási megoldást fejleszt, amely képes bőrszínt detektálni és követni mozgó képeken. A projekt célja egy olyan rendszer létrehozása, amely a kamera képe alapján valós időben azonosítja a bőrtónusokat.
- Technológiák: OpenCV, Python, C++
- Kihívás: A valós idejű feldolgozás gyorsítása és a pontosság megtartása mozgás és változó fényviszonyok mellett.
Gépi tanulás alapú anomália detektálás hálózati behatolások ellen
Tárgykör: Számítógépek, hálózatok biztonsága témakör
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja egy gépi tanulás alapú intrusion detection rendszer (IDS) fejlesztése, amely képes felismerni az anomáliákat és szokatlan hálózati aktivitásokat. A hallgató különféle gépi tanulási algoritmusokat tesztel (pl. döntési fák, mélytanulás) és optimalizál a hálózati forgalomban megjelenő fenyegetések felismerésére.
- Technológiák: Python (Scikit-learn, TensorFlow), Snort, Wireshark
- Kihívás: Hatékony modell tréningezése nagy adatbázisokon, valamint alacsony hamis pozitív arány elérése.
Valós idejű intrusion detection rendszer fejlesztése IoT hálózatok számára
Tárgykör: Számítógépek, hálózatok biztonsága témakör
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja egy olyan IDS fejlesztése, amely kifejezetten IoT hálózatok biztonságára összpontosít. Az IoT eszközök biztonsági sérülékenységeinek és behatolási mintáinak felismerésére optimalizált rendszer készítése valós időben figyeli és elemzi az IoT eszközökről érkező adatokat.
- Technológiák: MQTT protokoll, Python, Snort, AWS IoT Core
- Kihívás: Nagyszámú eszköz valós idejű figyelése és az alacsony erőforrás-igényű IDS megvalósítása.
Mélységi tanulás alkalmazása hálózati támadások észlelésére és osztályozására
Tárgykör: Számítógépek, hálózatok biztonsága témakör
Témavezető: Dr. Hornyák Olivér
Leírás:
A hallgató célja egy olyan mélytanulási rendszer (pl. konvolúciós neurális hálózatok vagy RNN-ek) fejlesztése, amely képes a különböző típusú támadások (pl. DoS, port scanning) automatikus észlelésére és osztályozására. A projekt részeként a hallgató valós hálózati adatokkal dolgozik és fejleszt egy nagy pontosságú modellt.
- Technológiák: Python (Keras, TensorFlow, PyTorch), Wireshark, NSL-KDD dataset
- Kihívás: Nagy mennyiségű adat feldolgozása, és a támadások pontos osztályozása.
Elosztott intrusion detection rendszerek vizsgálata és megvalósítása felhőalapú környezetben
Tárgykör: Számítógépek, hálózatok biztonsága témakör
Témavezető: Dr. Hornyák Olivér
Leírás:
A projekt célja elosztott IDS rendszerek kialakítása és vizsgálata felhőalapú infrastruktúrában. A hallgató olyan megoldásokat fejleszt, amelyek képesek több, különböző földrajzi helyen elhelyezkedő csomópont védelmét ellátni. A rendszernek képesnek kell lennie a skálázódásra, hogy a megnövekedett forgalmat is megfelelően kezelje.
- Technológiák: AWS, Kubernetes, Suricata, Python
- Kihívás: Skálázhatóság és a hálózati forgalom elosztott figyelésének biztosítása.
GPT alapú természetes nyelvfeldolgozás alkalmazása szövegkategorizálásban
Tárgykör: GPT
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja a GPT-modell képességeinek vizsgálata különböző szövegkategorizálási feladatokban. A hallgató különféle kategorizálási problémákat vizsgál, például hírforrások, vélemények vagy termékleírások automatikus osztályozását.
- Technológiák: Python, Hugging Face Transformers, GPT-3/4 API
- Kihívás: Nagy pontosságú modell fejlesztése és finomhangolása különböző szövegkorpuszokra.
GPT modellek használata automatikus ügyfélszolgálati chatbotok fejlesztésére
Tárgykör: GPT
Témavezető: Dr. Hornyák Olivér
Leírás:
A hallgató célja egy GPT-alapú chatbot rendszer fejlesztése, amely képes valós idejű ügyfélszolgálati kérdésekre válaszolni. A projekt része a chatbot finomhangolása adott iparág specifikus kérdéseire és válaszaira.
- Technológiák: Python, GPT API, Rasa, Dialogflow
- Kihívás: A GPT-modell finomhangolása, hogy releváns, pontos és természetes válaszokat adjon, valamint a felhasználói élmény optimalizálása.
GPT modellek hallucinációinak (hibás generált szöveg) vizsgálata és csökkentése
Tárgykör: GPT
Témavezető: Dr. Hornyák Olivér
Leírás:
A hallgató célja a GPT modellek által generált szövegek hallucinációinak vizsgálata, ahol a modell valótlan vagy pontatlan információkat generál. A szakdolgozat során különböző adathalmazokon tesztelik a GPT modellt, és megvizsgálják, milyen helyzetekben hajlamos hallucinációra (pl. kérdésekre adott hibás válaszok). A cél olyan módszerek kidolgozása, amelyekkel csökkenthető a GPT által generált szöveg pontatlansága.
- Technológiák: Python, GPT-3/4 API, Natural Language Processing (NLP) eszközök
- Kihívás: A hallucinációk azonosítása különböző feladatok során (pl. kérdés-válasz, szöveggenerálás), valamint olyan technikák kidolgozása, amelyek minimalizálják ezeket (pl. adatfinomítás, utófeldolgozás).
Konténerizációs technológiák és mikroszolgáltatások implementálása
Tárgykör: Szoftverfejlesztés
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja egy mikroszolgáltatás-architektúrára épülő alkalmazás tervezése és implementálása konténerizációs technológiák (pl. Docker, Kubernetes) felhasználásával. A hallgató célja, hogy bemutassa a mikroszolgáltatások előnyeit a hagyományos monolitikus architektúrával szemben, valamint megvizsgálja a skálázhatóság és a rugalmasság szempontjait.
- Technológiák: Docker, Kubernetes, Java/Spring Boot, Node.js
- Kihívás: A mikroszolgáltatások helyes implementációja és a skálázhatóság megvalósítása valós környezetben.
Agilis fejlesztési módszertanok alkalmazása és hatékonyságának mérése
Tárgykör: Szoftverfejlesztés
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja az agilis fejlesztési módszertanok (pl. Scrum, Kanban) vizsgálata és implementációja egy szoftverfejlesztési projekt során. A hallgató elemzi a módszertanok hatékonyságát, a csapat produktivitására és a fejlesztési időre gyakorolt hatását, majd javaslatokat tesz a folyamatok javítására.
- Technológiák: Jira, Trello, Git, Jenkins
- Kihívás: Valós adatok megszerzése, a fejlesztési folyamat hatékonyságának mérése és elemzése egy valós projektben.
Saját fejlesztésű számítógépes játék létrehozása és a játékfejlesztés folyamatának elemzése
Tárgykör: Játékfejlesztés
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja egy teljes értékű számítógépes játék fejlesztése egy választott játékmotor (pl. Unity, Unreal Engine, stb.) segítségével. A projekt során a hallgatónak ki kell dolgoznia a játéktervet (game design), implementálnia kell a játékmenet elemeket, valamint bemutatnia a játék grafikai, zenei és technikai megoldásait. A dolgozatnak részletesen be kell mutatnia a fejlesztési folyamat minden lépését, beleértve a tervezést, a kódolást, a tesztelést és a hibajavítást.
A szakdolgozatnak ki kell térnie a választott technológiák és eszközök (pl. játékmotor, programozási nyelvek, grafikai és zenei eszközök) indoklására és alkalmazására, valamint a projekt során felmerülő technikai és tervezési kihívások megoldására. A játék végleges verzióját működőképes, futtatható formában kell mellékelni.
Téma célkitűzései:
- Egy egyedi játékötlet megvalósítása a fejlesztési életciklus minden lépését követve: játéktervezés, implementáció, tesztelés és finomhangolás.
- A választott játékmotor, technológiák és eszközök használatának bemutatása.
- A játék mechanikáinak, grafikájának és hangrendszereinek kidolgozása és implementálása.
- A játék tesztelése és hibajavítása, beleértve a felhasználói visszajelzések beépítését.
- A játékmenet, a játékélmény és a technikai megvalósítás kritikai elemzése.
Technológiai háttér:
- Játékmotorok: Unity, Unreal Engine, Godot
- Programozási nyelvek: C#, C++, Python, stb
- Grafikai eszközök: Blender, Photoshop, GIMP
- Hangrendszerek: FMOD, Wwise, Audacity
- Verziókezelés: Git, GitHub, Bitbucket
Elvárások:
- Egy működőképes számítógépes játék létrehozása és bemutatása.
- A szakdolgozatnak tartalmaznia kell a játéktervezési dokumentációt (game design document), a technikai megvalósítást, valamint a tesztelés eredményeit.
- Részletes elemzés a játék fejlesztési folyamatáról, a felmerülő problémákról és azok megoldásairól.
Téma nehézségi szintje:
Közepes-magas (attól függően, hogy mennyire összetett a játék és a választott technológia).
Egyéni iOS mobilalkalmazás fejlesztése Swift nyelven
Tárgykör: iOS alapú mobilalkalmazás fejlesztése
Témavezető: Dr. Hornyák Olivér
Leírás:
A szakdolgozat célja egy teljes funkcionalitású iOS mobilalkalmazás megtervezése és fejlesztése Swift programozási nyelv és az iOS SDK használatával. A projekt során a hallgatónak létre kell hoznia egy alkalmazást, amely valós problémát old meg, vagy egyedi szolgáltatást nyújt. Az alkalmazás lehet egy új szolgáltatásra épülő eszköz (például feladatkezelő, időjárás alkalmazás, közösségi hálózati alkalmazás) vagy egy már meglévő koncepció innovatív kiterjesztése.
A szakdolgozat bemutatja a fejlesztési folyamatot a tervezéstől az implementáción át egészen a tesztelésig és az App Store-ba való publikálásig. Külön figyelmet kell fordítani az alkalmazás felhasználói felületének (UI/UX) megtervezésére, az iOS platform specifikus követelményeire és a különböző technikai megoldásokra (pl. adatkezelés, hálózati kommunikáció, animációk).
Téma célkitűzései:
- Egy iOS alapú mobilalkalmazás megtervezése és fejlesztése Swift nyelven.
- A felhasználói élmény (UI/UX) optimalizálása az Apple iOS irányelveinek megfelelően.
- Az iOS platform specifikus funkcióinak (pl. értesítések, háttérfolyamatok, Core Data, HealthKit, ARKit) felhasználása az alkalmazásban.
- Az alkalmazás tesztelése iPhone/iPad eszközökön, valamint az App Store-ba való előkészítés és feltöltés.
- A fejlesztési folyamat dokumentálása, különös tekintettel a kihívásokra és megoldásokra.
Technológiai háttér:
- Programozási nyelv: Swift
- Fejlesztőkörnyezet: Xcode, SwiftUI, UIKit
- Adatkezelés: Core Data, SQLite, Firebase
- API-k és szolgáltatások: REST API-k, JSON, Alamofire, URLSession
- Verziókezelés: Git, GitHub
- Tesztelés: Xcode Unit Testing, TestFlight, XCTest
Elvárások:
- Egy működőképes iOS mobilalkalmazás létrehozása és bemutatása.
- A szakdolgozat tartalmazza az alkalmazás tervezési dokumentációját (UI/UX tervek, technikai tervek), a fejlesztési folyamat részletes leírását, valamint a tesztelési eredményeket.
- Az App Store-ba való feltöltésre való felkészítés és a felhasználói visszajelzések kezelése.
Téma nehézségi szintje:
Közepes-magas (attól függően, hogy mennyire összetett az alkalmazás és milyen iOS specifikus funkciókat használ).
Flutter alkalmazás készítése
Tárgykör:
Témavezető: Smid László
Leírás: Mobilalkalmazás készítése Flutter keretrendszer segítségével
Power Apps alkalmazás készítése
Tárgykör:
Témavezető: Smid László
Leírás: PowerApps alkalmazás integrálása SharePoint-ba vagy Power Automate használata
Home Security System készítése
Tárgykör:
Témavezető: Smid László
Leírás: Home Security System készítése Raspberry Pi segítségével
Unity és/vagy Visual Scripting Unreal Engine-hez
Tárgykör:
Témavezető: Smid László
Leírás: Játékfejlesztés valamelyik cross platform game engine segítségével
Mobilfejlesztés Xamarin segítségével
Tárgykör:
Témavezető: Smid László
Leírás: Xamarin alkalmazás készítése
ASP.NET MVC5/6/Core technológia alkalmazása
Tárgykör:
Témavezető: Smid László
Leírás: webalkalmazás készítése .NET-es környezetben
Universal Windows Platform/UWP alkalmazás fejlesztése
Tárgykör:
Témavezető: Smid László
Leírás: UWP alkalmazás fejlesztése Windows-os környezetben
Petri háló-szimulátor
Tárgykör:
Témavezető: Smid László
Leírás: GUI-s Petri hálót szimuláló alkalmazás készítése
Logisztikai rendszer szimulációja vagy logisztikai rendszerek számítógéppel segített telepítése
Tárgykör:
Témavezető: Smid László
Leírás: szimulációs keretrendszer, vagy saját alkalmazás készítése logisztikai problémára
Számítógéppel segített járattervezés
Tárgykör:
Témavezető: Smid László
Leírás: Járattervező vékony- vagy vastagkliens alkalmazás készítése
Kriptovaluták, okosszerződések
Tárgykör:
Témavezető: Smid László
Leírás: Kriptopénztárca, vagy -művelet, vagy okosszerződés implementálása
Papíralapú felmérő teszt generálása és szoftveres kiértékelése
Tárgykör:
Témavezető: Lajos Sándor, Árvai-Homolya Szilvia
Leírás: A szakdolgozat célja a bejövő hallgatók matematikai kompetencia felmérő tesztjének papír alapon történő megíratásának szoftveres támogatása. Az elkészítendő szoftvernek alkalmasnak kell lennie egy előre adott kérdésbankból különböző tesztek összeállítására és a tesztek papír alapon történő kitöltése után azok automatikus (pl. QR kódok segítségével) kiértékelésére.
Virtuális valóság (VR) képgaléria létrehozása sztereoszkópikus (3D-s) képek megjelenítéséhez
Tárgykör: Számítógépi grafika, virtuális valóság
Témavezető: Lajos Sándor
Leírás: Felhasználói felület létrehozása a sztereoszkópikus képek virtuális valóságban történő megjelenítéséhez. A programnak lehetővé kell tennie egy galéria létrehozását, különféle szabványos képformátumú sztereoszkópikus képek betöltésével. Biztosítania kell a galériában történő navigációt VR eszközök használatával.
Virtuális modelltár létrehozása a Unity rendszerben
Tárgykör: Számítógépi grafika, virtuális valóság
Témavezető: Lajos Sándor
Leírás: Az Ábrázoló Geometriai Tanszék VRML formátumú virtuális modelltárának konvertálása a Unity rendszerbe és megjelenítése virtuális valóságban. Ez magában foglalja a már meglévő testmodellek konvertálását, majd egy Unity alkalmazás fejlesztését, mely biztosítja a navigációt a modelltárban (gyaloglás a modellek között, a kiválasztott modell bármilyen irányból történő megtekintése).
Többváltozós relációk alkalmazása adatbázisok vizsgálatára
Tárgykör: Adatbázisok
Témavezető: Radeleczki Sándor
Leírás: Relációs adatbázisnak nevezzük a relációs adatmodell elvén létrehozott adatok összességét, a relációs adatmodell fogalomrendszerében meghatározott ún. relációk egy véges halmazát. Az relációs adatbázisok az adatbázisok egy legfontosabb fajtáját jelentik. Sajnos az itt felhasznált relációk többnyire nem bináris, hanem többváltozós (n-áris) relációk. Ezek hatékony alkalmazása sajátos módszereket igényel, illetve visszavezetésüket ismert és tulajdonságokban gazdag bináris relációkra. A különböző lehetőségek feltérképezése és szintézise lenne a szakdolgozat célja, ami konkrét alkalmazást is magába foglalna.
Korszerű folyamatbányászati módszerek
Tárgykör: Folyamatbányászat
Témavezető: Radeleczki Sándor
Leírás:
Vállalatok, ügyfélszolgálatok belső folyamatait elemző és irányító automatikus rendszerekkel foglalkozó publikációk a modern számítástudomány Automated Process Mining, illetve Natural Language Processing címszavai alatt találhatók. A különböző folyamatbányászati eljárások az Adabányászat (Data mining) és a Mintafelismerés (Pattern recognition) módszereiből nőtek ki, Az irodalomban több, (egymással is kapcsolódó) megközelítéssel találkozhatunk, úgy mint:
- Gráf alapú módszerek a legyakoribb minták felismerésére,
- Kimenettel rendelkező véges jelátalakító automatákat felhasználó algoritmusok.
- Neurális hálókat felhasználó, automatikus szövegfelismerő/szövegelőállító rendszereken alapuló módszerek.
- Adatszekvenciák többszempontú részben-rendezését megvalósító módszerek
Gráfelrendezési algoritmusok vizsgálata
Tárgykör: Gráfelmélet, optimalizálás
Témavezető: Piller Imre
Leírás: Szempontrendszer definiálása a gráfok áttekinthetőségére, helyes ábrázolási módjára vonatkozóan. A GraphViz gráfelrendezési algoritmusainak vizsgálata. Az optimalizálási eljárás lépéseinek vizsgálata profilozás segítségével. Saját gráfelrendezési algoritmus implementálása (C, C++, Go vagy Rust nyelven).
Weblapok megjelenítésének numerikus problémái
Tárgykör: Optimalizálás
Témavezető: Piller Imre
Leírás: A weblapok tartalmának elrendezésére vonatkozó algoritmusok matematikai leírása. A numerikus problémák felsorolása, amelyet egy weblap kirenderelése során meg kell oldani. Az elérhető rendering engine-ek összehasonlítása. Hivatkozások azok kódjában lévő optimalizálási algoritmusokra (amennyiben a forráskód elérhető). Benchmark-ok készítése, amelyek célzottan kiemelik az implementációs különbségeket. Korrekciós javaslatok tétele, és implementálása a teljesítmény javítására vonatkozóan.
Geometriai oktatóanyagok fejlesztése WebGL segítségével
Tárgykör: Geometria, számítógépi grafika
Témavezető: Piller Imre
Leírás: A WebGL aktuális böngészőtámogatottságának vizsgálata. Eltérések a hagyományos OpenGL alkalmazáshoz képest. A JavaScript nyelv megvalósítási módjainak összehasonlítása a hagyományos C/C++ alkalmazásokéval.
Térbeli fraktálok megjelenítési módjainak vizsgálata
Tárgykör: Geometria, fraktálok
Témavezető: Piller Imre
Leírás: A Mandelbrot és Júlia halmazok vizsgálata. A sugárkövetés matematikai modelljének bemutatása. Az elérhető fraktál megjelenítő alkalmazások áttekintése. A megjelenítési problémák kifejtése és a lehetséges megoldási módok bemutatása. Egy egyszerűbb saját fraktál megjelenítő rendszer elkészítése C++ programozási nyelven.
Használati eset alapú specifikáció készítését segítő eszköz fejlesztése
Tárgykör: Adatszerkezetek, gráfok, optimalizálás
Témavezető: Piller Imre
Leírás: A grafikus alkalmazások fejlesztésénél a specifikáció hatékony és precíz elkészítése kiemelt fontosságú. A dolgozat célja egy olyan grafikus eszköz tervezésének és fejlesztésének a bemutatása, amely segítségével a specifikáció elkészítése akár az alkalmazás megrendelőjével való egyeztetés közben, valós időben elvégezhető.
Gépi tanulás alapú szövegtranszformációs módszerek
Tárgykör: Gépi tanulás, természetes nyelvfeldolgozás
Témavezető: Piller Imre
Leírás: A természetes nyelvű szövegek elemzéséhez szükséges statisztikai és soft computing módszerek bemutatása. A szöveg elemzési módjainak bemutatása szavak, mondatok és nagyobb szövegrészek szintjén. Olyan alkalmazás implementálása, amely képes a természetes nyelvű szöveget egy hatékonyabban kezelhető formára hozni, majd azon klaszterezési, osztályozási problémákat megoldani. Nagyobb terjedelmű, magyar és idegen nyelvű szövegek elemzése. Szöveg generálása és transzformációja a feldolgozáshoz használt modell segítségével.
DOS-os alkalmazások futtatása webböngészőben
Tárgykör: Formális nyelvek, fordítók, értelmezők
Témavezető: Piller Imre
Leírás: A programok futási modelljének ismertetése. A tárgykód formájában elérhető alkalmazások elmezéséhez szükséges matematikai eszközkészlet bemutatása. Az alkalmazás ki- és bemenetének kezelése HTML5 Canvas segítségével. Az exe és com fájlok szerkezetének vizsgálata. Konverziós módszer implementálása, amely a gépi kódú alkalmazásból JavaScript nyelvű programot készít. A sikeres konverziók részletes bemutatása.
Python adatszerkezetek vizualizálása
Tárgykör: Programozás, szintaxis elemzés
Témavezető: Piller Imre
Leírás: Összefüggő komponensek, és körök kereséséhez használható algoritmusok bemutatása. A gráfok (valamilyen szempontrendszer szerinti) optimális megjelenítésének matematikai háttere. A Python nyelv alapvető adatszerkezeteinek áttekintése. Grafikus felület készítése, melyen az adatszerkezetek gráfok formájában megjeleníthetők. Alkalmazáspéldák nagyobb méretű kódbázis esetén.
Grafikus függvénykönyvtárak összehasonlítása
Tárgykör: Számítógépi grafika, szoftver architektúra
Témavezető: Piller Imre
Leírás: Mivel az objektum orientált szemlélettel elkészített grafikus függvénykönyvtárakban az osztályok interfészei szélesek, és a hierarchia több szintet tartalmaz, ezért a formális fogalomelemzés módszerei vizsgálható az egyes grafikus elemek viszonya. A formális fogalomelemzés elméletének, és alkalmazásainak a bemutatásával kinyerhetők az implementációban rejlő közvetett összefüggések. Készíteni kell egy alkalmazást, amely a forráskódból az osztályok interfészeit ki tudja nyerni, majd azokat formális kontextusokba tudja rendezni. Ezt követően a kinyert kontextusokból ki kell számítani a fogalomhálót, majd azt meg kell jeleníteni.
Bináris formában elérhető alkalmazások optimalizálása
Tárgykör: Formális nyelvek
Témavezető: Piller Imre
Leírás: A formális nyelvek, és a fordító optimalizálás témakörének áttekintése. Optimalizálási módszerek részletes bemutatása. Profilozással becsült valószínűségek figyelembevétele. Egy emulátorhoz hasonló program segítségével lépésenként végrehajthatóvá kell tenni az elemzésre kijelölt bináris formában elérhető programokat. Le kell tudni menteni az adott program futtatása során végbemenő parancsokat, amely segítségével a felesleges számítások kigyűjthetők. Az eredeti és az optimalizált futásról részletes összehasonlító elemzést kell készíteni.
Modern gépközeli programozási nyelvek vizsgálata
Tárgykör: Programozási nyelvek
Témavezető: Piller Imre
Leírás: Utasításkészletek, fordító optimalizálási módszerek, szintaxis fák, gráfoptimalizálási módszerek vizsgálata. A gépközeli programok írásához az Assembly nyelv mellett már számos, magasabb szintű programozási nyelv elérhető. A szakdolgozat az aktuálisan modernnek tekinthető nyelveket, azok eszközkészletét vizsgálja, mint például a C23 szabványt, a Rust és a Zig programozási nyelveket. A dolgozat célja ezek szintaktikai és szemantikai összehasonlítása, példák és mérések készítése a hatékonyságuk vizsgálatához.
Grafikon ábrázoló függvénykönyvtárak API-jának összehasonlítása
Tárgykör: Számítógépi grafika
Témavezető: Piller Imre
Leírás: Össze kell gyűjteni a leginkább elterjedt grafikon megjelenítő függvénykönyvtárakat. Ezekben meg kell nézni, hogy melyek a közös elemek, illetve, hogy azok milyen formában (például milyen paraméterezéssel, használati esetekkel) vannak megadva. Egy összehasonlító elemzést kell végezni arra vonatkozóan, hogy melyek esetében vannak hasonlóságok/eltérések.
Az SQLAlchemy ORM teljesítményének elemzése
Tárgykör: Adatbáziskezelés
Témavezető: Piller Imre
Leírás: Az relációs-OOP leképzés formalizált leírása. A teljesítménymérés során kapott eredmények statisztikai elemzése. Főként példák és benchmark-ok készítése, amelyből láthatóvá válik, hogy milyen esetben milyen többletszámítást jelent az ORM adta kényelmesebb hozzáférési mód. Érdemes megvizsgálni közben a generált SQL lekérdezéseket, szükséges konverziókat és magának a mapper-nek az implementációját is.
Készletnyilvántartó rendszer készítése szemantikus technológiák alkalmazásával
Tárgykör: Szemantikus technológiák
Témavezető: Piller Imre
Leírás: Az RDF gráf modelljének bemutatása. A lekérdezések matematikai megadása. Egy webalkalmazás készítése, amelyben az adatok szemantikus gráfok formájában kerülnek tárolásra.
Funkciók redundáns megjelenésének vizsgálata Linux rendszerekben
Tárgykör: Operációs rendszerek, szoftver metrikák
Témavezető: Piller Imre
Leírás: Az operációs rendszerek funkcióinak formalizált megadása. Redundancia definiálása, minták alapján történő duplikáció keresés. Ki kell választani (legalább) egy GNU/Linux rendszert, amelyet meg lehet vizsgálni. Meg kell nézni, hogy az elterjedt parancsok milyen funkciókat valósítanak meg, illetve úgy általában a rendszerben mik a vizsgálható funkciók. Készíteni kell olyan programokat, amelyek ezeket képesek detektálni.
XMLSchema alapú grafikus szerkesztő
Tárgykör: Formális nyelvek, felhasználói felületek
Témavezető: Piller Imre
Leírás: A sémaleírás, sémaellenőrzés elméleti alapjainak áttekintése. Vonatkozó gráfelméleti, nyelvfeldolgozási módszerek, algoritmusok ismertetése. Egy olyan grafikus alkalmazásnak az elkészítése, amely egy XMLSchema leírás alapján egy szerkesztőfelületet biztosít a sémának megfelelő adatok szerkesztéséhez. A felhasználó közvetlenül a modellt szerkesztheti ezen keresztül, nem szükséges, hogy egyáltalán lássa a mögöttes XML állományt.
Kétdimenziós ütközésvizsgálat párhuzamosítási lehetőségei
Tárgykör: Koordináta geometria, párhuzamos algoritmusok, dinamikus adatszerkezetek, optimalizálás
Témavezető: Piller Imre
Leírás: Főként részecskerendszerek szimulációja esetében gyakori probléma, hogy nagy mennyiségű (általában azonos alakú) részecskének az egymással való ütközését kell vizsgálni. Ez egy igen számításigényes feladat. A számítások optimalizálására több lehetőség adódik, többek között a párhuzamosítás. A dolgozat azt vizsgálja, hogy ilyen esetekben milyen adatszerkezetek és algoritmizálási módszerek használhatók fel a számítási teljesítmény javítására. Ehhez kapcsolódóan bemutatásra kell, hogy kerüljön az algoritmusok, azok paramétereinek a hatása a számítási komplexitásra.
Képfeldolgozási módszerek vizsgálata Go nyelven
Tárgykör: Intenzitás hisztogramok, konvolúciós módszerek, kitöltő algoritmusok
Témavezető: Piller Imre
Leírás: A konkrét vizsgálatokhoz használt képfeldolgozási módszerek elvi háttere. A Go (Golang) nyelv egy natív programozási nyelv, amely letisztult, közérthető szintaxisával segíti többek között a képfeldolgozásban használt heurisztikák implementálását. A dolgozat célzottan azt vizsgálná, hogy mennyiben váltható ki a C/C++ nyelv (például az OpenCV-hez tartozó implementációk esetében) egy Go nyelvű változattal. A dolgozatban egyaránt meg kell vizsgálni, az elkészített kód áttekinthetőségét, karbantarthatóságát, számítási teljesítményét és memóriaigényét.
Widget toolkit fejlesztése Go nyelvhez
Tárgykör: Felhasználói felületek
Témavezető: Piller Imre
Leírás: Interpolációs módszerek vizsgálata (animációk esetében). Elrendezésre vonatkozó optimalizálási módszerek áttekintése. A dolgozat célja egy olyan Go (Golang) nyelvű függvénykönyvtár elkészítése, a használatának példákkal történő demonstrálása, amely a gyakran előforduló widget-ek megjelenítését, azok eseményeinek a kezelését elvégzi. Ehhez át kell tekinteni azon, lehető legegyszerűbb library-ket, amelyek a raszteres megjelenítést, képek betöltését, billentyűzet- és egéresemények kezelését lehetővé teszik.
Vizsgálatok az SDL2 függvénykönyvtár Rust nyelvre való átírásával kapcsolatban
Tárgykör: Kód metrikák
Témavezető: Piller Imre
Leírás: A dolgozat célja, hogy megvizsgálja, hogy az SDL2 nevű, C nyelvű függvénykönyvtár Rust programozási nyelvre való portolásának milyen előnyei és hátrányai lennének. Ehhez figyelembe kell venni, hogy a számítási teljesítmény, a kód minősége, olvashatósága hogyan változna. Fel kell mérni, hogy a C API milyen szinten ültethető át Rust nyelvre, milyen esetekben tartható meg a szerkezet. Külön vizsgálandó az SDL függőségeivel kapcsolatos integrációs problémák és az unsafe kódrészek esete.
Képletszerkesztő készítése LaTeX-hez
Tárgykör: Szintaktikai elemzése, szintaxis fák, geometria
Témavezető: Piller Imre
Leírás: A képletek szerkesztése komplikáltabb esetekben a felhasználók többsége számára egyszerűbben elvégezhető valamilyen grafikus szerkesztőeszköz segítségével. A dolgozat célja egy ilyen elkészítése, amely a GUI segítségével összeállított képleteket LaTeX nyelven elérhetővé teszi, továbbá egy LaTeX nyelvű képlet további szerkesztésére is ad lehetőséget. A dolgozatban meg kell vizsgálni a hasonló eszközöket, összehasonlításokat kell végezni azok előnyeiről és hátrányairól.
Mesterséges neurális hálózatok tanítási módszereinek vizsgálata
Tárgykör: Mesterséges neurális hálózatok, optimalizálási módszerek, sztochasztikus optimalizálás
Témavezető: Piller Imre
Leírás: A mesterséges neurális hálózatok tanítására számos módszer elérhető. Feladatként szerepel a szakirodalomban elérhető módszerek áttekintése, összehasonlítása. Meg kell vizsgálni a Scikit Learn függvénykönyvtár neurális hálózatok tanításához használt interfészét, majd a saját készítésű tanítási algoritmust azzal kompatibilis formában kell implementálni. Összehasonlításokat kell végezni a Scikit Learn-ben elérhető módszerekkel.
Szöveges formátum specifikus tömörítési eljárások vizsgálata
Tárgykör: Információelmélet, kódelmélet, szintaktikai elemzés
Témavezető: Piller Imre
Leírás: Számos szöveges adatszerializációs formátumot (például CSV, XML, JSON, YAML) nagy mennyiségű adat tárolásához, átviteléhez is használnak. Ennek az oka, hogy a formátumok elterjedtek, többségében szabványosnak tekinthetők, létrehozásukhoz és feldolgozásukhoz rengeteg eszköz érhető el. A dolgozatban meg kellene vizsgálni, hogy hogyan, és milyen hatékonysággal lehet kihasználni tömörítéskor a formátumok adta specifikumokat. Referencia implementációval és mérésekkel meg kellene becsülni az elkészített módszer hatékonyságát.
Grafikus elemek verziókezelése
Tárgykör: Képfeldolgozás, gráfelmélet
Témavezető: Piller Imre
Leírás: A szöveges fájlok kezeléséhez kiforrott, elterjedt, jól használható eszközkészlet érhető el. Meg kellene vizsgálni, hogy hasonló módszerek hogyan alkalmazhatóak elemek szerkesztése, verziókövetése esetén. Ehhez szükséges áttekinteni az elérhető szerkesztő szoftvereket, azok alapvető funkcióit. Meg kell vizsgálni a szerkesztési műveletek naplózási lehetőségeit, hogy azokat fel lehessen használni a verziók követéséhez. Egyszerűbb esetekben meg kell mutatni, hogy hogyan működhet képek esetében egy diff eszköz, továbbá, hogy milyen lehetőségek vannak a merge műveletre.
Táblázatkezelő alkalmazás SQLite alapokon
Tárgykör: Relációs algebra
Témavezető: Piller Imre
Leírás: A dolgozat célja egy olyan grafikus alkalmazás elkészítése, amely átmenetet jelent a táblázatkezelő szoftverek és az adatbáziskezelő kliens alkalmazások között. A szoftver dokumentum formátuma az SQLite3 adatbázis. Az adatbázis tábláknak külön lapokon kellene látszódniuk, hogy a bennük szereplő adatok szerkesztését a táblázatkezelő szoftverekhez hasonló formában el lehessen végezni. A megjelenítéshez kapcsolódó adatokat a szoftverben közvetlenül nem látható táblákkal kellene megoldani (például a mezők színezését, betűtípusok beállítását, táblázat kereteket).
JavaScript és Lua nyelvek performancia vizsgálata
Tárgykör: Nyelvi elemzés, optimalizálás
Témavezető: Piller Imre
Leírás: A JavaScript és a Lua programozási nyelvek sokban hasonlítanak egymásra, mindkettőt a nagyon magas szintű, könnyű súlyú interpretált nyelvek közé lehet sorolni, melyekhez elérhető hatékony JIT fordító. A dolgozat célja az, hogy rámutasson azokra a nyelvspecifikus elemekre, amelyek a performancia szempontjából döntő fontosságúak, összehasonlítsa az elérhető implementációkat, benchmark tesztek segítségével támpontot adjon arra vonatkozóan, hogy milyen alkalmazási mód esetében melyiktől milyen számítási teljesítményre lehet számítani.
Lua nyelvű szabályrendszerekre épülő SVG szerkesztő alkalmazás fejlesztése
Tárgykör: Nyelvi elemzés, interpreterek, koordináta geometria, grafika
Témavezető: Piller Imre
Leírás: A grafikus szerkesztőeszközök (értve ez alatt a kép, ábra és szöveg szerkesztőket is) beépítve tartalmaznak számos szabálymegadási módot. Ezt a készletet a szerkesztőeszköz fejlesztői definiálják, és jellemzően paraméterezhető formában állnak rendelkezésre. A szakdolgozat célja, hogy egy olyan, általános grafikus keretrendszert adjon, amely az alakzatok közötti viszonyok megadását közvetlenül Lua nyelven teszi elérhetővé. (Ilyen szabály lehet például, hogy egy ábrán összekötve két csomópontot az összekötött alakzatok melyik oldalára kerüljön.) Az alkalmazás ábra formátuma SVG legyen. A dolgozat adjon például UML szabvány szerinti ábrák szerkesztésére.
Szilárd testek törésének geometriai modellezése
Tárgykör: Geometria, számítógépi grafika, geometriai modellezés, fizika
Témavezető: Piller Imre
Leírás: A fizikai szimulációk és a számítógépi grafika területén is találkozhatunk szilárd testek törésének a problémájával. Ezzel kapcsolatosan a vizsgálandó, hogy milyen tulajdonságú, milyen alakú anyagok milyen erő behatására hogyan adnak különféle törési felületeket. A szakdolgozatban meg kell vizsgálni azon elérhető szilárd test fizikai szoftvereket, amelyek erre lehetőséget adnak. Be kell mutatni a törés fizikai és/vagy matematikai modelljét. Meg kell tervezni és implementálni kell egy olyan szoftvert, amely alkalmas különféle tulajdonságok beállítását követően becslést adni a törési felületre az eredeti térbeli modell diszjunkt részmodellekre való bontásával.
Git repozitóriumok vizualizációja és projekt metrikák vizsgálata
Tárgykör: Statisztika, számítógépi grafika, gráfelmélet
Témavezető: Piller Imre
Leírás: A git repozitóriumokban a szoftververziók tárolásán túl számos olyan információt találhatunk, amely mutatja, hogy az adott szoftverfejlesztési projekt mennyire volt hatékony. A dolgozatban el kellene készíteni egy olyan vizualizációs és elemző alkalmazást, amely git repozitóriumokhoz képes megjeleníteni a fejlesztés folyamatára vonatkozóan statisztikai jellegű információkat.
Virtuális aszisztensek tervezése és implementációja
Tárgykör: Viselkedésmodellezés, 3D modellezés, animáció
Témavezető: Piller Imre
Leírás: A virtuális terekben (értve ez alatt akár csak egy számítógép asztali környezetét) időszakosan megjelenik az igény, hogy egy személyes, virtuális aszisztens is rendelkezésre álljon. A szakdolgozatban össze kellene gyűjteni, hogy egy-egy ilyen ágens milyen funkcionalitással szokott rendelkezni. Specifikálni kell, hogy a saját fejlesztésű aszisztens milyen attribútumokkal rendelkezzen. Be kell mutatni a viselkedés modellezésre alkalmas matematikai és szoftveres eszközöket. Animált formában létre kell hozni egy virtuális ágenst.