1. Visszacsatolt neurális hálók vizsgálata előrejelzési feladatok megoldásához
    matematikai rész Előrejelzési feladatok paramétereinek becslése. Klasszikus módszerek összegzése.
    programozási rész Visszacsatolt neurális hálók készítése analítikus módon. A háló topológiájának és a tanítás paramétereinek optimalizálása. Teszteredmények elemzése, és a szóbajöhető alkalmazási területek összegyűjtése.
  2. A Python számítási képességei
    matematikai rész A numerikus és szimbólikus számításokhoz elérhető programcsomagok funkcióinak összegyűjtése.
    programozási rész Példaprogramok készítése magyarázatokkal és ábrákkal. A Python matematikai moduljainak bemutatása.
  3. Octave frontend készítése
    matematikai rész Az Octave nyelv elemeinek és az API-jának bemutatása. Összehasonlítása a Matlab környezettel.
    programozási rész Az Octave-hoz készült már több grafikus felhasználói felület, viszont messze elmaradnak még a Matlab régebbi verzióitól is. A feladat megoldása során a cél egy olyan felület létrehozása, amely kényelmesen szerkeszthetővé és tesztelhetővé teszi az Octave-ban készített szkripteket. A mérnökképzésben előforduló számítási feladatok elvégzéséhez segédlet készítése.
  4. Magas szintű szkriptnyelvek összehasonlítása
    matematikai rész Szintaxis leírása EBNF segítségével. AST előállítási módjai.
    programozási rész EcmaScript, Lua, Python nyelvek összevetése. A fejlesztés és a tesztelés szempontjából az előnyök és a hátrányok vizsgálata. Integrálhatóságuk más programozási nyelvekbe. Teljesítményösszehasonlítás különféle gyakorlati példákon keresztül.
  5. A Julia programozási nyelv az oktatásban
    matematikai rész A lineáris algebra, numberikus módszerek, optimalizálás tárgyakban előforduló példák összegyűjtése.
    programozási rész Technikai számítások implementálása a Julia nyelv segítségével. Összehasonlítás a Matlab/Octave csomagok megoldásaival a nyelv és a teljesítmény szempontjából.
  6. Geometriai oktatóanyagok fejlesztése WebGL segítségével
    matematikai rész Geometriai ismeretek, problémák gyűjtése.
    programozási rész 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.
  7. Adatok kinyerése PDF dokumentumokból
    matematikai rész Képfeldolgozási algoritmusok. Neurális hálók.
    programozási rész Olyan alkalmazás készítése, amely képfeldolgozás segítségével képes információkat kinyerni tetszőleges eszközzel készített PDF dokumentumokból.
  8. A C++ és Rust programozási nyelv összehasonlítása
    matematikai rész A nyelvek szintaktikai elemzése, összevetése.
    programozási rész Olyan alkalmazások készítése, amelyek segítségével szemléltethető a vizsgált nyelvek előnyei és hátrányai programozás technikai illetve teljesítmény szempontjából.
  9. Webalkalmazás fejlesztése szervezeti folyamatok menedzseléséhez
    matematikai rész Szervezeti folyamatok matematikai modelljének megadása állapotdiagramok, petri hálók segítségével.
    programozási rész Olyan webalkalmazásnak a fejlesztése, amely lehetőséget ad a szervezeti folyamatok modelljének kényelmes bevitelére, átalakítására adminisztrációs felületen keresztül. A szerver oldali részhez Flask keretrendszer a kliens oldali rész pedig AngularJS keretrendszer kerülne felhasználásra.
  10. Térbeli fraktálok megjelenítési módjainak vizsgálata
    matematikai rész A Mandelbrot és Júlia halmazok vizsgálata. A sugárkövetés matematikai modelljének bemutatása.
    programozási rész 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.
  11. JavaScript alapú frontend technológiák összehasonlítása - kiadva!
    matematikai rész A keretrendszerek struktúrájának, mechanizmusainak elemzése. Az azonos problémákra adott megoldások komplexitásának vizsgálata.
    programozási rész Az elérhető JavaScript keretrendszerek (például ReactJS, AngularJS, Vue) összehasonlítása. Példaprogramok írása, amelyeken szignifikáns különbség mutatkozik a keretrendszerek megoldásai között.
  12. Párhuzamosítási lehetőségek fotorealisztikus képszintézis esetén
    matematikai rész A fotorealisztikus képszintézis matematikai modelljének bemutatása.
    programozási rész A cél a valós idejű megjelenítésnek a közelítése, a hardver adta lehetőségek minél nagyobb hatásfokú kihasználása. A szekvenciális vagy deklaratív formában megadott algoritmusok egyes részeinek szálakba vagy processzekbe való kiszervezése.
  13. Alternatív grafikus megjelenítési módok - kiadva!
    matematikai rész Szűrők és árnyalók matematikai modelljének bemutatása.
    programozási rész Alternatív, absztrakt (például rajzfilm vagy festmény jellegű) megjelenítési módok elkészítése procedurális grafika és shader-ek segítségével. Illesztés valós idejű háromdimenziós megjelenítő rendszerhez.
  14. Numerikus számítások implementálása Rust programozási nyelven
    matematikai rész Az elterjedt, gyakorlatban előforduló numerikus problémák összegyűjtése, és matematikai hátterének bemutatása.
    programozási rész A Rust nyelv támogatottságának vizsgálata. Rust nyelvű implementációk készítése, és azok összhasonlítása a Fortran, C, C++ és MATLAB nyelvű megoldásokkal.
  15. Gráfelrendezési algoritmusok vizsgálata
    matematikai rész Szempontrendszer definiálása a gráfok áttekinthetőségére, helyes ábrázolási módjára vonatkozóan.
    programozási rész 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++ vagy Rust nyelven).
  16. Aktor-alapú programozási modellek elemzése
    matematikai rész Konkurrencia kezelésének matematikai leírása. Az aktor alapú modell összehasonlítása a zárolásos alapú megoldásokkal.
    programozási rész Az Erlang, Pony nyelvek és az Akka Java/Scala library áttekintése. Azon használati esetek összegyűjtése, amelyben az aktor alapú program alkalmazása különösen előnyös vagy hátrányos. Az aktor alapú programok vizsgálata a rendelkezésre álló hardveres erőforrások szempontjából.
  17. Weblapok megjelenítésének numerikus problémái
    matematikai rész 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.
    programozási rész 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.
  18. Mesterséges intelligencia alapú szövegtranszformációs módszerek
    matematikai rész 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.
    programozási rész 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.
  19. DOS-os alkalmazások futtatása webböngészőben
    matematikai rész 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.
    programozási rész 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.
  20. Python adatszerkezetek vizualizálása
    matematikai rész Ö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.
    programozási rész 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.
  21. Grafikus függvénykönyvtárak összehasonlítása
    matematikai rész 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.
    programozási rész 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.
  22. Bináris formában elérhető alkalmazások optimalizálása
    matematikai rész 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.
    programozási rész 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.
  23. Backend fejlesztés Rust nyelven
    matematikai rész Kódkomplexitás becslés, teljesítménymérésből kapott eredmények statisztikai jellegű elemzése
    programozási rész A Rust programozási nyelvhez több webes keretrendszer is elérhető. Nyilvánvalóan mindegyiknek megvannak az előnyei és hátrányai. A dolgozatban azt kellene megvizsgálni, hogy milyen esetben melyiket lehet érdemes használni, miben térnek el koncepció szintjén, illetve hogy milyen területeken lehetne fejleszteni rajtuk. A dolgozatban ehhez külön kisebb backend alkalmazásokat célszerű készíteni.
  24. Grafikon ábrázoló függvénykönyvtárak API-jának összehasonlítása
    programozási rész Ö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.
  25. Az SQLAlchemy ORM teljesítményének elemzése
    matematikai rész 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.
    programozási rész 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.
  26. Készletnyilvántartó rendszer készítése szemantikus technológiák alkalmazásával
    matematikai rész Az RDF gráf modelljének bemutatása. A lekérdezések matematikai megadása.
    programozási rész Egy webalkalmazás készítése, amelyben az adatok szemantikus gráfok formájában kerülnek tárolásra.
  27. Funkciók redundáns megjelenésének vizsgálata Linux rendszerekben
    matematikai rész 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.
    programozási rész 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.
  28. XMLSchema alapú grafikus szerkesztő
    matematikai rész 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.
    programozási rész 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.
  29. Ütközésvizsgálat automatikus optimalizálása térbeli modellekhez
    matematikai rész Háromszög és szakasz metszéspontjának számítása. Térpartícionálási és kapcsolódó további optimalizálási módszerek áttekintése.
    programozási rész A cél egy olyan függvénykönyvtár elkészítése, amely egy adott modell alapján létrehoz egy olyan struktúrát/objektumot, mely segítségével az ütközésdetektálás hatékonyan megoldható. A dolgozatban be kell mutatni az elkészített algoritmus/algoritmusok működését, adatszerkezeteit, becslést kell adni a számítások idő- és tárigény komplexitására.
  30. Képfeldolgozási módszerek vizsgálata
    matematikai rész Intenzitás hisztogramok. Konvolúciós módszerek. Kitöltő algoritmusok. A konkrét vizsgálatokhoz használt képfeldolgozási módszerek elvi háttere.
    programozási rész 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.
  31. Widget toolkit fejlesztése Go nyelvhez
    matematikai rész Interpolációs módszerek vizsgálata (animációk esetében). Elrendezésre vonatkozó optimalizálási módszerek áttekintése.
    programozási rész 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.
  32. Vizsgálatok az SDL2 függvénykönyvtár Rust nyelvre való átírásával kapcsolatban
    matematikai rész Kód metrikák. Típusbiztonsággal kapcsolatos elméleti modellek bemutatása.
    programozási rész 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.