Az egyetemi órarendek készítése klasszikusan időigényes, konfliktusokkal teli feladat, amely sokszor manuális egyeztetéseken és kompromisszumokon alapul. Ezeket a feladatokat szeretnénk automatizálni.
A téma keretében egy komplex órarendtervező alkalmazás fejlesztése a cél, amelyben az oktatók megadhatják a számukra alkalmas időpontokat, a rendszer pedig ezek alapján automatikusan generál egy optimális, ütközésmentes végleges órarendet.
A projekt teljes értékű szoftverfejlesztési folyamatot fed le:
• Backend fejlesztés (első körben Python alapokon), ahol az adatok kezelése és az üzleti logika valósul meg
• Frontend felület, amelyen az oktatók intuitív módon rögzíthetik preferenciáikat és megtekinthetik az elkészült órarendet
• Rendező és optimalizáló algoritmus, amely figyelembe veszi az oktatói elérhetőségeket, a kurzusokat, termeket és az ütközések minimalizálását
A hallgatók a munka során megismerkednek:
• modern webes architektúrákkal
• REST API-k tervezésével
• algoritmikus gondolkodással és optimalizációs problémákkal
• adatmodellezéssel és jogosultságkezeléssel
A téma gyakorlatias, valós problémára ad megoldást, miközben jól skálázható: egyszerű szabályalapú megközelítéstől akár heurisztikus vagy optimalizáló algoritmusokig (pl. greedy, backtracking, genetikus algoritmusok).
Ajánlott mindazoknak, akik szeretnének valódi, használható rendszert fejleszteni, és közben átfogó képet kapni egy teljes szoftverprojekt megvalósításáról.