Hallgatói lektoráló modul fejlesztése a TMS beadandókezelő rendszerhez
A nyílt forráskódú TMS beadandókezelő rendszer egyik fő funkciója programozási beadandó és zárthelyi feladatok kiírása és a hallgatói megoldások begyűjtése. A TMS rendszer automata fordítással, fekete-doboz elvű teszteléssel, statikus analízissel és plágiumvizsgálattal tudja a hallgatók és az oktatók munkáját segíteni.
Nagyobb számú hallgatói munka esetén az oktatókat és a gyakorlatvezetőket számottevően tehermentesítheti, ha a hallgatók egymás megoldását kölcsönösen ellenőrzik. A hallgatók emellett tapasztalatot szereznek mások munkájának konstruktív értékelésében is, hiszen a kódellenőrzés (code review) a szoftveriparban a minőségbiztosítás széleskörűen alkalmazott formája.
A szakdolgozat célja egy kettős vak bírálati rendszer (double blind peer review) specifikációja és megvalósítása a TMS rendszer bővítéseként. A szakdolgozat keretében elkészítendő az a funkció, amellyel a kurzus oktatói egy kiírt beadandó feladathoz bekapcsolhatják a hallgatói lektorálást. Bekapcsolás esetén a rendszer a beadási határidő leteltét követően automatikusan ossza szét a megoldást beküldő hallgatók között egymás munkájának ellenőrzését, a hallgatók pedig a hozzájuk rendelt megoldásokat értékelhessék, és megjegyzéseket fűzhessenek hozzájuk. A lektorálás kettős vak elvet kövessen: a megoldást beküldő és a bírálatot végző hallgató kölcsönösen ne ismerhesse meg egymás személyazonosságát, amit a megjelenített megoldások és a kapcsolódó adatok anonimizálásával kell biztosítani. Az oktató szabályozhassa, hogy minden beküldött megoldáshoz hány hallgatói bírálat készüljön; több bírálat esetén a rendszer emelje ki azokat az eseteket, ahol a lektorok eltérő értékelést adtak. A végső értékelést továbbra is az oktató rögzíti.
A megvalósítás a TMS rendszer meglévő architektúrájába illeszkedik: a szerveroldali komponens és annak REST API-ja PHP nyelven, objektumorientált módon, a Yii2 keretrendszer használatával, relációs adatbázisban (MySQL, illetve MariaDB) történő adattárolással készül, a webes felhasználói felület pedig React és TypeScript technológiákkal.