"Magad, uram, ha szolgád nincsen" -- Egy Web-alapú intelligens tanító-rendszer


Hanák Péter dr. <hanak@inf.bme.hu>

BME Irányítástechnika és Információs Rendszerek T.

Szeredi Péter dr. <szeredi@iqsoft.hu>

BME Számítástudományi és Információelméleti T.

Benkő Tamás <benko@iqsoft.hu>

IQSoft Rt.

Hanák Dávid <dhanak@inf.bme.hu>

BME Villamosmérnöki és Informatikai Kar



A BME Villamosmérnöki és Informatikai Karán kötelező tárgyként 1994-től tanítunk funkcionális és logikai programozást, 2000-ig Programozási paradigmák, azóta Deklaratív programozás néven. A tárgynak az első évben kb. 100 hallgatója volt, de a 2000. év tavaszi félévében már kb. 350 hallgató vette fel a felvételi keret gyors növekedésének következményeként. A keresztfélév is népes: a legutóbbi őszi félévben csaknem 100 hallgatónk volt. A VIK-en ez az egyetlen olyan nagylétszámú tantárgy, amely a hallgatóknak nem imperatív programozást tanít: a logikai programozást a Prolog, a funkcionálist a Standard ML nyelv használatán keresztül mutatjuk be. A hallgatók egyre nagyobb hányadának okoz gondot a rekurzív gondolkodás elsajátítása, a rekurzív algoritmusok és adatszerkezetek használata.


Már az első években nyilvánvaló volt, hogy ennyire más programozási nyelveket és gondolkodást nem lehetség gyakorlás nélkül elsajátítani, még a vizsga lerakásához elegendő elemző és konstrukciós készség szintjén sem. A tárgyhoz sem tantermi, sem laboratóriumi gyakorlat nem kapcsolódik, a közreműködő oktatók és PhD-hallgatók száma nagyon is korlátos (mint sok más helyen a felsőoktatásban). Ezért már 1995-ben kötelezővé tettük a hallgatóknak, hogy a tárgyból nagyzárthelyit írjanak és egy nagyobb házi feladatot oldjanak meg, az utóbbihoz otthoni használatra is rendelkezésükre bocsátottunk ingyenes SML- és licenszköteles Prolog-fordítóprogramokat. A nagyfeladatok bevételét és értékelését automatizáltuk: a hallgatók a feladatokat elektronikus levélben küldik el egy meghatározott címre, a számítógép futtatja és pontozza a megoldásokat, és ugyancsak elektronikus levélben értesíti a feladat beküldőjét az eredményéről.


Az évek során a unix alatt futó automatikus értékelőrendszer sok változáson

esett át. Mivel az egyetlen nagyfeladat kevésnek bizonyult a szükséges programozási gyakorlat megszerzéséhez, az utóbbi időben kis házi feladatokat is kiadtunk önálló gyakorlásra, s ezeket is automatikusan értékeljük.


A most kezdődő félévben a meglévő rendszert továbbfejlesztve az eddigieknél integráltabb és több szolgáltatást nyújtó rendszert dolgozunk ki. Célunk az, hogy a szakirodalomban "Intelligent Tutoring System"-nek (ITS) nevezett olyan rendszerrel segítsük a hallgatók felkészülését és az ellenőrzést, amely igény esetén több tárgyban is felhasználható lesz. A készülő rendszer főbb jellemzői a következők:


1) a nagy házi feladatok fogadása elektronikus levélben és automatikus kiértékelése (hallgatónként egy feladat);

2) a legjobb házi feladatok futási idejének mérése létraverseny keretében;

3) a kis házi feladatok kiadása (véletlenszám-generátorral) és fogadása

elektronikus levélben, automatikus értékeléssel (hallgatónként négy-hat

feladat);

4) gyakorló feladatok kiadása (véletlenszám-generátorral) és fogadása elektronikus levélben, ill. Web-felületen (SML, ill. Prolog Server Pages; CGI) automatikus értékeléssel (hallgatónként változó számú feladat);

5) a zárthelyi és pótzárthelyi dolgozatok értékelésének és pontozásának gépi támogatása;

6) a félévközi pontszámok és eredmények automatikus bevitele az adatbázisba

7) adatok automatikus átvétele a hallgatói tanulmányi rendszerből (NEPTUN),

8) a vizsgákra való felkészülés és a vizsgaeredmények adminisztrálásának gépi támogatása.


A tervezett előadásban a meglévő és a továbbfejlesztés alatt álló rendszerfelépítését, szolgáltatásait, és a tapasztalatainkat ismertetjük.


A cikk szerzői köszönettel tartoznak Péter Lászlónak, Gefferth Andrásnak ésRozmán Tamásnak az eddigi rendszer kialakításában való közreműködésükért, azoknak a demonstrátor-hallgatóknak, akik a továbbfejlesztésbenközreműködnek, továbbá annak a többszáz hallgatónak ('nemesb léleknek'),akik az évek során élvezték az automatikus rendszer áldásait, s tűrtékbalsorsuk minden nyűgét s nyilait...