ON-LINE AUTOMATIKUS FELADATBEADÓ ÉS ÉRTÉKELŐ RENDSZER. Horváth Gyula Szegedi Tudományegyetem Informatikai Tanszékcsoport.



Hasonló dokumentumok
Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Turnitin tájékoztató

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

NIIF Központi Elosztott Szolgáltatói Platform

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

1 of :54

Személyügyi nyilvántartás szoftver

ContractTray program Leírás

HVK Adminisztrátori használati útmutató

II. ADATLAP - Programmodul részletes bemutatása

URKUND MOODLE. oktatói kézikönyv. Tartalom. Segédlet az oktatói feladatokhoz Egyéb oktatói felület Eredményképernyő...

PHP-MySQL. Adatbázisok gyakorlat

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória

KIRA. KIRA rendszer. Telepítési útmutató v1

DebitTray program Leírás

ILIAS hallgatói felhasználói leírás

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

PartSoft Informatikai Kft. KÖNNY felhasználói kézikönyv 1 Általános információk Számítástechnikai alapok Felhasználói ismeretek...

Szakdolgozat / diplomamunka benyújtásának folyamata (alapképzés, mesterképzés 2018/19/1)

ServiceTray program Leírás

ALKALMAZÁSOK ISMERTETÉSE

KnowledgeTree dokumentumkezelő rendszer

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Az egységes BME egyetemi TDK portál használata. 1. rész

PwC EKAER Tool felhasználói leírás május

Felhasználói útmutató

Felhasználói kézikönyv Bázis, Aktív, Portál és Portál+ csomagokhoz

Tárgyfelvétel előtti órarendi nézet (órarend tervező) a Neptun HWEB-en

e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez

SuliStat felhasználói dokumentáció

KÖTELEZŐ PROGRAM, SZÁMONKÉRÉSEK. Részletek

Webes vizsgakezelés folyamata Oktatói felületek

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

GLS címke kezelő bővítmény GLS online-hoz

Nyilvántartási Rendszer

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET

BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

Gyors Áttekintő Segédlet Fenntartóknak v1.01 KRÉTA TANTÁRGYFELOSZTÁS GYORS ÁTTEKINTŐ SEGÉDLET FENNTARTÓKNAK. verzió v1.01 /

E-Freight beállítási segédlet

Szakdolgozat feltöltési útmutató

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Egyetemi adatbázis nyilvántartása és weben

Hardver és szoftver követelmények

TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

ESZR - Feltáró hálózat

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

Egyetemi könyvtári nyilvántartó rendszer

Felhasználói útmutató

A Matarka szerszámosládája

Playlist.hu Kiadói kézikönyv

ISA Internetes rendelési felület

Tájékoztató a szakdolgozat elektronikus feltöltéséről

Telepítési Kézikönyv

Sulidoc Iskolai dokumentum megosztó Dokumentáció

Felhasználói segédlet a Scopus adatbázis használatához

Óranyilvántartás (NEPTUN)

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Szakdolgozat benyújtási szabályzat

Szolgáltatói Adminisztrátori leírás

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

alkalmazásfejlesztő környezete

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

TANSZÉKI ADMINISZTRÁTORI SEGÉDLET: NEPTUN TÁRGYKEZELÉS, KURZUSKEZELÉS

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

A belső hálózat konfigurálása

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

INFORMATIKAI ALAPISMERETEK

A FileZilla program beállítása az első belépés alkalmával

A tankönyvvé nyilvánítás folyamatát elektronikusan támogató rendszer az OKÉV számára

KGFB díjhirdetés. Előadó: Tóth Krisztina IT - Alkalmazásfelügyeleti főosztály

Hiteles elektronikus postafiók Perkapu

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

web works hungary Rövid technikai tájékoztató Mars (mars.intelliweb.hu) szerverünkkel kapcsolatban meglévő és új ügyfeleink számára.

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

Duál Reklám weboldal Adminisztrátor kézikönyv

ÁVF oktatási és közösségi portál

1. Szolgáltatásaink. Adatok feltöltése és elemzése. Digitális feltöltés. Analóg korong feltöltés

Digitális írástudás kompetenciák: IT alpismeretek

VBA makrók aláírása Office 2007 esetén

Felhasználói kézikönyv. Tőkepiaci Közzététel. Magyar Nemzeti Bank

ETR Hallgatói webes alkalmazás

S SDA Stúdió kft Hallgatók adatlap

Taninform KIR kapcsolat

BEJELENTKEZÉS AZ EPK RENDSZERÉBE

LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER

Informatika témavázlat. 3. évfolyam

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján.

FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Átírás:

ON-LINE AUTOMATIKUS FELADATBEADÓ ÉS ÉRTÉKELŐ RENDSZER ONLINE EVALUATION SYSTEM Horváth Gyula Szegedi Tudományegyetem Informatikai Tanszékcsoport Összefoglaló A Szegedi Tudományegyetem Informatikai Tanszékcsoportján kifejlesztett és használatos feladatbeadó és értékelő rendszer célja, hogy támogatást biztosítson egyénileg megoldandó feladatok kiosztásában, a feladatok teljesítésének ellenőrzésében, a hallgatók munkájának nyomon követésében. A rendszert mind az oktatók, mind a hallgatók webes felületen keresztül használhatják. Az elsődleges cél az volt, hogy kötelező programok on-line és automatikus értékelését biztosítsa, azonban a rendszer akkor is sok segítséget ad az oktatóknak, ha a feladat nem értékelhető automatikusan. A rendszer hatékonyan támogatja zárthelyi dolgozatok lebonyolítását, különösen hasznos az azonnali, automatikus értékelés biztosítása. Plágium ellenőrzés megvalósítására a Berkeley-ben kifejlesztett MOSS szoftvert használjuk. A rendszer megvalósítására használt szoftver komponensek: Apache Web-szerver, MySQL adatbázis-kezelő, LDAP azonosítás-kezelő, PHP weboldalkezelő. A rendszer használatával az oktatók szervezési, adminisztrációs munkát takaríthatnak meg, a legfontosabb hatás azonban a hallgatók számítógépes problémamegoldó készségének fejlesztése terén mérhető. Kulcsszavak On-line, automatikus, kiértékelés, plágium-ellenőrzés Abstract An online automatic evaluation system has been developed at the University of Szeged, Institute of Informatics. The system is a simple, special propose course management system. The main purpose is to provide support for instructors and students in assignment fulfillment. The system is for collecting and grading solutions to (programming) assignments, providing feedback on submitted solutions, and maintaining a database with all results. The system supports automatic evaluation of submitted solutions (programs). The system provides a web-based interface. Students can submit solution and obtain evaluation report immediately using the interface. Instructors can use the system to manage assignments and to keep track of the student s work. The MOSS system is used for plagiarism detection for submitted solutions. This software had been developed at Berkeley and currently is being provided as an internet service at Stanford. The evaluation system is implemented by the following software components: Linux operating system, Apache web server, MySQL database management system, LDAP for authentication and PHP scripting language. Keywords online, evaluation, plagiarism detection, course management 1

1. A feladatértékelő rendszer célja A Szegedi Tudományegyetem Informatikai Tanszékcsoportján kifejlesztett és használatos feladatbeadó és értékelő rendszer (a továbbiakban Bíró) célja, hogy támogatást biztosítson egyénileg megoldandó feladatok kiosztásában, a feladatok teljesítésének ellenőrzésében, a hallgatók munkájának nyomon követésében. Az elsődleges cél az volt, hogy kötelező programok on-line és automatikus értékelését biztosítsa. Azonban a rendszer akkor is sok segítséget ad az oktatóknak, ha a feladat nem értékelhető automatikusan. A rendszert mind az oktatók, mind a hallgatók webes felületen keresztül használhatják. A rendszer hatékonyan támogatja zárthelyi dolgozatok lebonyolítását, különösen hasznos az azonnali, automatikus értékelés biztosítása. Plágium ellenőrzés megvalósítására a Berkeley-ben kifejlesztett MOSS szoftvert használjuk. A rendszer használatával az oktatók szervezési, adminisztrációs munkát takaríthatnak meg. Ez különösen fontos nagy létszámú kurzusok kezelésekor. Az elmúlt félévben közel 20000 feladat lett kiosztva a rendszerben, a feladatok többsége automatikus kiértékelésű volt. Egyszerű és kényelmes lehetőséget ad a hallgatók munkájának nyomon követésére. A legfontosabb hatás azonban a hallgatók számítógépes problémamegoldó készségének fejlesztése terén mérhető. Rendszer használható programozási versenyek lebonyolítására is. 2. A rendszer funkciói A rendszer három felhasználói csoportot különböztet meg, a megfelelő jogosultságokkal: adminisztrátor, oktató és hallgató. Az adminisztrátor fő feladata, hogy kurzust vegyen fel a rendszerbe és a felvett kurzushoz felelős oktatót rendeljen. A kurzussal kapcsolatos minden további műveletet a felelős oktató végezhet. A felelős oktató további oktatókat vehet fel a kurzushoz, akik csak olvasási jogosultsággal rendelkeznek. Minden hallgató, akinek van felhasználói azonosítója a tanszékcsoport üzemeltetésében lévő számítógépes rendszerhez, alanyi jogon használhatja a Bíró rendszert. A hallgatókat és oktatókat nem kell külön felvenni a rendszerbe. A rendszer minden felhasználójának, legyen az oktató vagy hallgató, az azonosítása a központi LDAP szerveren történik. 1.1. Hallgatói funkciók A hallgató bejelentkezésekor az alábbi menüt kapja. Feladat kérése. A menüelem aktivizálására megjelenítődik a hallgató számára kiosztott feladatok listája. A lista tartalmazza a feladatleírásra mutató hivatkozást, továbbá a teljesítési határidőt. A feladatleírás mindig a feladat.pdf állományban van, amit a hallgató letölthet, vagy közvetlenül megnyithat. Ha a feladathoz minta bemenet/kimenet, vagy más segédanyagot biztosít a feladat kiírója, akkor az a minta.zip állományban van, és a rá mutató hivatkozás megjelenik a listában. Feladat beadása. A kiosztott feladatok listájából kell kiválasztani azt, amelyikhez megoldást akar benyújtani. A kiválasztás után megjelenik, hogy ez hányadik próbálkozás a megengedettek közül. A beadandó fájl neve beírható az input ablakban, vagy tallózással kiválasztható. A fájl kiterjesztését általában a feladatleírás szerint kell megadni, amely programok esetén a programozási nyelvnek megfelelő. Sikeres feltöltést követően a rendszer azonnal elvégzi az értékelést, amennyiben a feladat 2

automatikus értékelésű. Az értékelés eredményét a harmadik menüpontban lehet megnézni. Eredmények megtekintése. A kiosztott feladatok listájából kiválasztva a megfelelőt, megjelenik az eddigi próbálkozások listája, az elért pontszámmal. A lista egy elemére kattintva megjelenik az adott benyújtás értékelési riportja. Ez minden tesztesetre tartalmazza az elért pontszámot, a futási időt és az értékelési üzenetet. A feladat kiírója megengedheti, hogy a hallgató megtekinthesse az értékelés során keletkező valamennyi, vagy csak bizonyos állományokat. Hasznos lehet például a hallgatónak, ha megnézheti a kimeneti állományokat. 1.2. Oktatói funkciók A kurzushoz rendelt felelős oktató az alábbi funkciókat végezheti. Új feladat kiírása. Új feladat kiírásakor meg kell adni a feladat megnevezését, a leadási (teljesítési) határidőt (óra, perc pontossággal), a megengedett próbálkozások maximális számát, és a teljesítéshez előírt minimális pontszámot. Feladat módosítása. Már kiírt feladat ebben a menüpontban módosítható. Feladat feltöltése. Adott témában kiírt témához (feladatcsoporthoz) a következő komponenseket tartalmazza automatikus értékelés esetén. A témához egyetlen robot.sh értékelő-motort kell megadni. Minden feladathoz meg kell adni a feladatleírást a feladat.pdf fájlban, az időlimitet és memórialimitet tartalmazó fájlt, továbbá a teszteléshez használt bemeneti és kimeneti fájlokat. Ha minta bemenetet és kimenetet, vagy bármilyen segédanyagot akarunk adni, azt a minta.zip tömörített fájlban kell megadni. Egy feladat komponenseit a feladatsorszám alatti könyvtárba kell rakni, és zip tömörítéssel kell egy fájlba csomagolni a témához tartozó komponenseket. Módosítás lehetséges, mert minden feltöltés felülírja a létező fájlokat. A robot.sh értékelő-motort funkcióját és specifikációját a következő fejezetben tárgyaljuk. Ha nem akarunk (vagy nem lehet) automatikus értékelést, akkor nem kell megadni robot.sh-t, csak a feladatleírást tartalmazó feladat.pdf kötelező. Feladatok kiosztása. Feladat kiosztása <azonosító> <feladat_sorszám> párokat tartalmazó fájl megadásával történi. Eredmények listázása. Adott feladat listája az alábbi adatokat tartalmazza, soronként egy-egy hallgatóra: A hallgató azonosítója, EHA kódja, neve, a feladat sorszáma, a próbálkozások száma, az elért maximális pontszám, nyelv, a teljesítés dátuma, melyik próbálkozásra érte el a maximális pontszámot (ha több is van, akkor az első ilyen), hivatkozás a riport fájlra. Az azonosító egyben hivatkozás a hallgató könyvtárára, így az oktató azonnal belenézhet böngészővel a programba, és a teszteléskor keletkezett valamennyi fájlba, így az kimenetekbe is. A lista csak azokat tartalmazza, akik legalább egyszer próbálkoztak. A teljes lista kérhető fájlba, ami csv formátumú, így táblázatkezelővel feldolgozható. A rendszer által használt adatbázis a rendszeren kívül is elérhető, ezért további kimutatások készíthetők. Új oktató felvétele. A felelős oktató további oktatókat vehet fel a kurzushoz, akik csak olvasási jogosultsággal rendelkeznek, kivéve feladatok kiosztását. Zárthelyi dolgozat kezeléséhez szükség van arra, hogy a gyakorlatvezető is ki tudja osztani a feladatokat, ne csak a felelős oktató. Oktató törlése. Feladat törlése. 3

A rendszer lehetővé teszi, hogy az adott kurzushoz felvett oktatók (nem csak a felelős oktató) böngészővel láthassák a feladathoz feltöltött valamennyi állományt. A hallgatók munkájának nyomon követése, segítése miatt fontos, hogy az oktató láthassa a benyújtott programokat, és az értékelés során keletkezett fájlokat, különösen a program futtatásának eredményeként keletkező kimeneteket. A rendszer zárthelyi dolgozatok támogatására is használható. Ekkor az adott laborban lévő munkaállomások szeparált környezetben működnek a ZH időtartamára. Minden munkaállomás csak lokális szolgáltatást nyújt, hálózati kapcsolata csak a Bíró szerverrel van. A rendszer minden benyújtást naplóz, így kizárható, hogy kívülről adjanak be megoldást. A hallgató azonosítása a rendszerben a számítógépes felhasználói azonosítójával történik, a tanulmányi rendszerben pedig az EHA azonosítójával. Adatvédelmi előírásokra hivatkozva az egyetem nem ad ki olyan listát, amely mindkét azonosítóját tartalmazza. Ezért megkérjük a hallgatókat, hogy regisztrálják magukat a rendszerben, ami azt jelenti, hogy egy weboldalon bejelentkezve megadják az EHA kódjukat, amit adatbázisban rögzítünk. Ezt az adatbázist használva tudja az oktató megkapni az EHA kódhoz tartozó számítógépes felhasználói azonosítót, ami szükséges például a feladatok kiosztásához. A rendszer egy mellékes funkciójaként használható előadás jelenlét ellenőrzésére. Az előadáson megjelent hallgató kap egy kódot, (11 jegyű decimális számot), amelyet webes felületen be kell adnia meghatározott időpontig. A plágium ellenőrzés félig automatikus módon működik a rendszerben. A Berkeley-ben kifejlesztett MOSS (Mesaure Of Software Similarity) rendszert használjuk. Jelenleg a Stanford egyetemen működik, mint oktatási célra ingyenesen igénybe vehető internet szolgáltatás a http://moss.stanford.edu/ címen. Az összehasonlítandó programokat fel kell tölteni a szerverre, elvégzi az összehasonlítást, majd visszaadja az eredményt tartalmazó weboldal címét. Az oldal páronként tartalmazza a hasonlóság mértékét százalékban, és a két program azonos részeit azonos színnel színezi ki. 3. Megvalósítás A rendszer Linux operációs rendszerben működik. Az Apache web-szerver dedikált hardveren fut. Az adatbázis-kezelést az ugyancsak ezen a gépen futó MySQL szerver biztosítja. A felhasználók azonosítására és a jogosultságok kezelésére a központi LDAP szervert használjuk. A webes felület megvalósítása PHP nyelven írt programokkal történik. A tényleges értékelés, tehát a fordítás, futtatás és kimenet-ellenőrzés külön csak erre a célra fenntartott munkagépeken valósul meg, amelyeken szintén Linux fut. A rendszer skálázható, a munka-gépek száma tetszőleges lehet. A benyújtott feladatmegoldások (programok) tárolása olyan könyvtárstruktúrában történik, amely megfelel a kurzus/téma/hallgató/próbálkozás hierarchiának. A feladatokhoz tartozó fájlok pedig a kurzus/téma/feladat hierarchiát követik. A rendszer klaszter által szolgáltatott lemezterületet használ, a megosztást NFS fájlrendszer szolgáltatja. A jogosultságok a megfelelő könyvtárban elhelyezett.htaccess állományokkal, LDAP azonosítással biztosíthatók. A robot.sh értékelő-motor feladata: a benyújtott forrásprogram fordítása, futtatás minden tesztesetre, és a kimenetek helyességének ellenőrzése. Bemenetként parancssorban megkapja a hallgató azonosítóját, a kurzuskódot, a téma sorszámát, a feladat sorszámát, a próbálkozás számát, és a nyelvet. Kimenetként a pont.txt fájlba kell írnia a pontszámot és a riport.txt fájlba a tesztesetenkénti értékelési üzenetet. A robot.sh bármilyen program lehet, de általában 4

parancsértelmező szkript. A feladatkészítők számára biztosított egy minta robot.sh, amely legfeljebb apró módosítással alkalmassá tehető bármely feladat számára. A robot.sh a program végrehajtását szeparált környezetben végzi. A program fork-exec mechanizmussal gyerekprocesszusként fut, chroot korlátozással, nobody tulajdonosként. A végrehajtás elindítása előtt beállítja az erőforráskorlátokat, többek között az időlimitet, a memórialimitet és az output fájlméret korlátját. Java programok esetén a java virtuális gép fut gyerekprocesszusként, és a memóriakorlátozás a virtuális gép Xmx paraméterének beállításával történik. A végrehajtási hibakód fájlba íródik, amit a riport.txt értékelési üzenetében megadhatunk. 4. Tapasztalatok A rendszer használatával az oktatók szervezési, adminisztrációs munkát takaríthatnak meg. Ez különösen fontos nagy létszámú kurzusok kezelésekor. Az elmúlt félévben közel 20000 feladat lett kiosztva a rendszerben, a feladatok többsége automatikus kiértékelésű volt. Egyszerű és kényelmes lehetőséget ad a hallgatók munkájának nyomon követésére. A legfontosabb hatás azonban a hallgatók számítógépes problémamegoldó készségének fejlesztése terén mérhető. Azok a hallgatók, akinél a számonkérésre ezt a módszert alkalmazták már az első félévben, jobb felkészültséget mutatnak, így nagyobb arányban tudják teljesíteni a további kurzusokat. Nem elhanyagolható hatása a rendszernek, hogy a hallgatókat szisztematikus, fegyelmezett munkára ösztönzi. 5