Subsections

1. Bevezetés

1.1 A tervezés okai és célja

A felsőoktatás szerepe az utóbbi években fokozatosan megváltozott: elitképzés helyett ma már inkább a tömegek oktatását szolgálja. A hallgatói létszámok meredeken emelkednek a népszerűbb karokon, szakokon, miközben az oktatók létszáma inkább csökkenő tendenciát mutat. Ez nem kedvez a minőségnek, és sajnos az anyagi körülmények sem ideálisak - az intézmények nem engedhetik meg maguknak, hogy egy-egy egyetemi előadónak jónéhány tanársegéd és doktorandusz dolgozzon a keze alá. Az oktatás színvonalának megőrzéséhez egyre égetőbb szükség van az olyan olcsó megoldásokra, amelyek hatékonyan segítik az oktatók munkáját, megszabadítva őket a felesleges terhektől, hogy minél inkább a tananyag minőségének és frissességének megőrzésére, színvonalas előadások tartására tudják fordítani figyelmüket. Napjainkban a számítógépek segítségével olcsón juthatunk olyan adatfeldolgozó kapacitáshoz, amelyről egy évtizede még csak nem is álmodhattunk. Elég természetes ötlet tehát egy olyan számítógépes rendszer kidolgozása, amely pontosan ezt a feladatot látja el. A cél, hogy a lehető legkevesebb beavatkozással üzemelő rendszert kapjunk, amely minden szükséges információval ellátja az oktatót és a hallgatókat egyaránt. A kapcsolattartáshoz a ma már magától értetődőnek tekinthető Internet széles körben elterjedt elektronikus levelezési és WWW szolgáltatásait lehet és érdemes felhasználni.

Egy ilyen rendszer létrehozásának ötlete a Budapesti Műszaki Egyetem Villamosmérnöki és Informatikai Karán a műszaki informatika szakos hallgatóknak tanított Deklaratív programozás című tárgy kapcsán merült fel. Mivel a tárgy programozási nyelvek oktatásával foglalkozik, eleve szorosan kapcsolódik a számítógépekhez, bizonyos esetekben - például programok tesztelésekor - szinte nem is lehet kikerülni a számítógépes támogatást. A tárgy oktatói az évek során egyre több célra alkalmaztak számítógépes programokat, melyek kidolgozásához és kivitelezéséhez korábbi évek hallgatóinak, doktoranduszainak segítségét vették igénybe. Ahogy a programok sokasodtak, egyre nehezebbé vált az áttekintésük és a kezelésük, ezért adódott az ötlet, hogy érdemes lenne egy átfogó, egységes rendszert kidolgozni. Ennek a rendszernek a megtervezése és bizonyos szintű kivitelezése a szakdolgozatom témája.

Ugyanebben a témában a tárgy oktatóival közösen beneveztünk a Networkshop'2001 konferenciára is (Hanák et al., 2001). Az előadásban ugyan személyesen nem vettem részt, de az oktatók kikérték véleményemet és felhasználták részeredményeimet a prezentáció összeállításához.

1.2 A kiírás pontosítása

A kiírás alapján az a benyomásom alakult ki, hogy a szakdolgozatban megtervezendő rendszert szervesen be fogom tudni illeszteni a már létező, oktatást támogató rendszerek világába, és az ott kialakított, megbízható módszerek is alkalmazhatóak lesznek a tervezés során. Ezen rendszerek tanulmányozása közben azonban rájöttem, hogy egyik kategória sem felel meg igazán az itt támasztott követelményeknek. A dolgozat egyik fejezetében természetesen foglalkozom ilyen rendszerek bemutatásával és elemzésével, de ennek a résznek a súlya az elmondottaknak megfelelően kisebb, mint ahogy az a kiírás szerint várható lenne.

A tervezés során viszonylag hamar kialakult az az elképzelés, hogy az elkészítendő rendszernek nem csak a kiírásban is említett tárgynál kellene alkalmazhatónak lennie, hanem ennél sokkal szélesebb körben. Az ITS-ekkel való összevetés helyett tehát inkább az kapott hangsúlyt, hogy hogyan építhető fel a számítógépes rendszer terve kellően általánosan ahhoz, hogy tetszőleges tárgy esetében használható legyen. A megvalósított elemek természetesen továbbra is az adott tárgyhoz kapcsolódnak, hogy munkám haszna ne csak elméleti szinten érvényesüljön.

1.3 A szakdolgozat felépítése

A bevezetést követő második fejezetben az oktatást támogató rendszerek világát tekintem át. Az olvasó a feladatkiírásban is említett ITS mellett több más, ebbe a témakörbe tartozó architektúrát, és ezek egy-két konkrét megvalósítását is megismerheti.

A harmadik fejezet a deklaratív nyelvekről szól. Ebben a fejezetben elhelyezem a deklaratív nyelveket a programozási nyelvek világában, és definiálom a főbb jellemzőiket. Ezt követően röviden bemutatom a Deklaratív programozás című tárgy szerkezetét és történetét, elsődlegesen azokra a jellemzőkre koncentrálva, amelyek egy oktatás-támogató rendszer létrehozása szempontjából lényegesek.

A negyedik fejezet azokat jelenleg használt programokat mutatja be, amelyek a rendszer létrehozásának ötletét adták.

Az ötödik fejezet alkotja a szakdolgozat magját, itt ismertetem az új rendszer tervét. Bevezetésként elhelyezem az oktatást támogató rendszerek világában, ezt követően pedig rátérek a terv ismertetésére, amely során egy átfogó képből kiindulva fokozatosan finomítom a részleteket. Bizonyos pontokon szót ejtek a megvalósítási megfontolásokról is, de a fejezet lényegét tekintve a tervezés szintjén marad.

A hatodik fejezetben bemutatom a rendszer azon részeit, amelyeket - a feladatkiírásnak megfelelően - a gyakorlatban is megvalósítottam. Itt a terv bizonyos pontjait konkretizálom, helyenként szűkítve a lehetőségeket.

A hetedik fejezetben értékelem a tervet és a megvalósított részeket, ismertetem a tapasztalataimat, és vázolom a továbbfejlesztésre vonatkozó elképzeléseimet is. Ezt követően ismét összefoglalom a szakdolgozat tartalmát, ezúttal - a tartalom ismeretében - az egyes fejezetek lényegi mondanivalójára hivatkozva.

A függelékekben a fejezetekhez kapcsolódó, de a szakdolgozat témájának nem szerves részét képező anyagok találhatóak. Akadnak közöttük látványtervek, programkód-részletek, ill. egy rövid áttekintés a funkcionális nyelvek azon sajátosságairól, amelyek lényegesek a hatodik fejezetben foglaltak szempontjából.

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