Regisztráció és bejelentkezés

Programozás oktatás támogatása mesterséges intelligenciával és játékos felhasználói felülettel

Programozni tanulni kihívást jelentő folyamat. Az absztrakt, logikus gondolkodás elsajátítása, a különböző szintaxisok megértése és a kódolás gyakorlása időigényes és sok esetben frusztráló feladat lehet kezdők számára. Az oktatás során fontos fenntartani a motivációt és ösztönözni az aktív gyakorlást.

Az interaktív tanulás a leghatékonyabb módja új képességek elsajátításának. A laborgyakorlatok és a házi feladatok által lehetőségük van a tanulóknak konkrét problémák megoldására úgy, hogy visszajelzést kapnak a munkájukról, azonban ezek sok esetben nem bizonyulnak elégnek ahhoz, hogy megfelelően teljesítsenek egy számonkérés során is.

A számonkérések során legtöbb esetben arról akarnak meggyőződni az oktatók, hogy a diákok jól megtanulták-e az alapokat, odafigyelnek-e az adott nyelv sajátosságaira és képesek-e megvalósítani egy összetett feladatot. Gyakori példák a „Mit ír ki a kód?” vagy „Hogy néz ki a felhasználói felület a kód alapján?” jellegű kérdések.

A munkám célja egy olyan felület kialakítása, ahol a felhasználók aktívan gyakorolhatják a különböző programozási nyelveken írt kódoknak a megértését. Célom a mesterséges intelligencia kódíró képességének vizsgálata és felhasználása kódolási példáknak a generálására, valamint a felhasználók által nyújtott megoldásoknak a validálására.

Egy olyan böngésző alapú felületet alakítok ki, amin kiválasztható a gyakorolni kívánt programozási nyelv, és a megfejtendő kódpéldák nehézségi szintje (könnyű, közepes, nehéz), valamint lehetőség nyílik adaptív nehézség beállítására is. Amint a felhasználó elindítja a játékot, kap egy véletlenszerűen választott nyelvnek és nehézségi szintnek megfelelő kódpéldát, amit értelmeznie kell, majd megfejtését be kell gépelnie az erre biztosított helyre. Eredményeik alapján a játékosok felkerülnek egy pontozótáblára.

A megfejtés ellenőrzésére Python kód esetében két módszert fogok összehasonlítani. A kód eredményéről úgy lehet megbizonyosodni, hogy lefuttatjuk azt, így miután ezt elvégeztem, ennek eredményét fogom összehasonlítani a másik módszerével. A mesterséges intelligenciának nem csak kódírási, hanem kódértési képességei is vannak, így a másik ellenőrzés során MI-vel fogom ellenőriztetni az MI által írt kódot. Amennyiben ugyanolyan eredmények születnek, akkor a többi nyelv esetében az utóbbi megoldást, az MI általi validációt fogom alkalmazni.

Kialakítok egy olyan felületet is, ahol saját kódpéldákat lehet generáltatni nyelv és nehézségi szint, vagy nyelv és funkció leírása alapján. Ezeket a generált kódokat lehet módosítani, és fel lehet őket tölteni egy adatbázisba, ahol a feladatokból álló tudásbázis található.

szerző

  • Iványi Balázs
    Villamosmérnöki szak, alapképzés
    alapképzés (BA/BSc)

konzulens

  • Dr. Ekler Péter
    Docens, Automatizálási és Alkalmazott Informatikai Tanszék

helyezés

Jutalom