Iskolai példaprogram automata ellenőrzése

Most hallottam első kézből, hogy egy (?) bizonyos egyetemen (valamilyen informatika szak) a kiadott programozási feladat ellenőrzése teljesen automatikusan zajlik. A kész forrást a hallgató feltölti egy webformon keresztül. A szerver a forrást lefordítja, és a diák számára ismeretlen, az előre specifikált formátumnak megfelelő példákkal teszteli. Az eredménytől függően (gondolom, hogy hány teszt sikerült) pontot ad, ami beszámít a jegybe.

Egyfelől nem olyan rossz a gépi ellenőrzés, hiszen így a részrehajlás eleve kizárva.

De: hogy tanulnak meg így az emberek tisztességes programot írni, normálisan programozni? Ha csak az a követelmény, hogy az output jó legyen, belül pedig akármit gányolhat, hogyan sajátítja el az "igazi" programozást?

Vagy ne legyek túl szigorú? Végül is, eddig nem találkoztam még senkivel, aki pusztán az iskolában tanult volna programot írni.

Hozzászólások

Üdv!

Alighanem erre gondolsz: https://www.inf.u-szeged.hu/biro

Egyébként úgy van, ahogy mondod. A kimenetet, illetve a futási időt mérik, több tesztesetre, iletve a határidő elteltével összehasonlítják a programokat, ha túl hasonlóak, akkor mindkettő 0 pont. Természetesen ez is programmal megy, ezt ha jól tudom valamelyik amerikai egyetetemen fejlesztik.

(Amúgy itt nálunk is keményen megy a pénzért kötprogram írás. Pedig a feladatok egyáltalán nem durvák, ha valaki kicsit is odafigyel órán, minimális programozás tudással meg lehet írni. Es sem tudom képzeli mi lesz így ezekből az emberekből..)

Petya

bme-n is van rá példa (a programozás alapjai 2. - c++). igaz, ott nem webformon kell feltölteni, hanem az összegyetemi hallgatói szerveren kell átadni egy bizonyos programnak a binárisod elérési útját (tehát még a forrást sem kell átküldened) - ez azért jó, mert pl. ugyanazt a feladatot bármilyen nyelven meg tudod írni... természetesen hátrányai is vannak a dolognak (tanári szempontból), de talán nem véletlenül lett ez így megcsinálva.
--
ubuntu linux member

Akartam írni éppen :). Akik a "kommersz" utat választották, azoknak 2> óra, akik perl regexp, annak 10 perc :)

Egyébként ki akartam próbálni, csak az ural2-n nem igen volt hozzá merszem: Ugye ahhoz, hogy leellenőrizzem, meg kell hívnom a programot. Ez most vagy suid, és megy a tanár accjával, vagy megy az enyémmel.
Mert ha így van, akkor mi tartana engem vissza attól, hogy megkeresem azt a fájl, ahova az eredményeket menti, és olyan programot "adjak be", ami egyszerűen átírja az eredményeimet?

Debrecenben is van ilyesmi, ott e-mailben kell beküldeni a forrást és a kimenetet nézi az ellenőrzőprogi, meg persze hogy plágium-e.
Viszont szigorú vagy (mármint a témanyitó), egy féléves = 15 hét [-őszi/tavaszi szünet, -évi rendes bombariadó, -nemzeti ünnep, stb], hetente mondjuk 2 óra előadás + 2 óra gyak egyetemi kurzuson szerinted meg lehet tanulni az "igazi" programozást? Egyáltalán: azmiaz hogy igazi programozás?

Jaértem :)
Nézd, prog2 előadáson nekünk a tanár azzal érzékeltette a becsületes kivételkezelés jelentőségét, hogy szerinte azok, akik eddig eljutottak (félév első fele körül lehetett, c-t és javat tanultunk főleg), már világszínvonalon tudnak programozni, ui. ott a java forrása, meg lehet nézni hogy mik vannak benne, na ugyanolyan világszínvonalú sz*t már mi is tudunk.

Megint másik, ugyanő prog1 első előadáson megkérdezte, hogy a teremben van-e olyan, akinek nem kötelező megcsinálni a tárgyat. Páran jelentkeztek, kérdezi, maga mit keres itt? Páciens: meg akarok tanulni programozni. Na, akkor maga rossz helyen jár, nagyon rossz helyen. Programozni nem itt kell megtanulni, hanem otthon a gép előtt, itt csak a levizsgázáshoz szükséges dolgokról lesz szó.

Röviden ennyit arról, hogy mire való az egyetem - hát nem a thedailwtf elkerülésére :)

Programozni nem itt kell megtanulni, hanem otthon a gép előtt

Ez nagyon is egybevág a környezetemben tapasztaltakkal: ez is egy olyan iparos szakma, amit rengeteg gyakorlattal lehet elsajátítani.

De ehhez egy megfelelően elszánt hozzáállás kell, aki pedig ilyennel rendelkezik, annak majdnem mindegy, milyen képzést kap: önerőből úgyis programozóvá küzdi magát. De akkor meg mi lenne az iskola szerepe? Nem hiszem, hogy csak a papír.

Azért furcsállom pl. gépi ellenőrzést, mert pont egy olyan kontroll lehetősége veszik el, ami nevelő hatással lenne a tanulókra. Még most is élénken emlékszem arra a kínos érzésre, mikor az előadó vizsgán az orrom előtt húzta át az "if a=true then" sort, mert az "a" változó logikai típusú volt, és ugye akkor az "=true" szükségtelen...

"De akkor meg mi lenne az iskola szerepe? Nem hiszem, hogy csak a papír."

E-Medve mondja a tutit: megmutatni, hogy mi minden van itt, merre lehet elindulni, meg egy minimális alapot ad sok területhez, amibe beleáshatod magad a jövőbeli megélhetés reményében. A papír csak annak az elismerése, hogy sok mindenhez értesz egy kicsit és képes vagy nagyon gyorsan rengeteg "hülyeséget" megtanulni, ha épp az kell.

Illetve egyéb dolgai is vannak/lennének, úgyis mint kapcsolati tőke kiépítése -> lásd a "pár végzős egyetemista összeállt és..." kezdetű történeteket sikeres cégek alakulásáról, szocializáció -> lásd a közveszélyes gnu/linuxistákat itt a hupon, akiknek szemlátomást nem volt gyerekszobájuk/vérengző egyetemi tanáruk, aki rádöbbenti őket, hogy lóf*t tud kend, nem programozni, látókör szélesítése -> már persze ha a többség nem csak a potyakreditet látná az értelmiségi modulban.
Mert ok, hogy aki ötéves kora és a c64 óta nyomja az 15 év alatt remek kóder lesz magától is, de a többség nem ilyen és nem csak ennyi kell a világ forgásához.

A gépi ellenőrzés meg egy undorító favágómunka kiváltása - tanári szemszögből. Nem tudom, máshol hogy megy ez, de nálunk korábban is a gyakvezérek dolga volt a zh/beugrójavítás, a személyes kontroll meg változatlanul is a tanáré - utóbbi pont elég erős és nevelő hatású ahhoz, hogy mindenki Tőle féljen a legjobban :). Szóval ezzel nem veszett el semmi, legalábbis a DE-ről.

"Vagy ne legyek túl szigorú? Végül is, eddig nem találkoztam még senkivel, aki pusztán az iskolában tanult volna programot írni."

Nos en azt mondom, ez is olyan, mint Morpheus kapszulaja a Matrixban. Az egyetem csak megmutatja neked, hogy merre mehetsz. Hogy melyik temaba asod be magad jobban, az rajtad mulik. Persze van olyan is, aki nem assa bele magat semmibe, megis lediplomazik. Na az diploma utan massal fog valoszinuleg foglalkozni. Tehat a felfogasom szerint az egyetem ugymond IT alapmuveltseget ad, nehol tul sok matekkal fuszerezve.

Egyebkent mondanom se kell, en a "latvanyos" targyak kotelezo programjait, zh-it elveztem/elvezem: adatbazisok, halozatok, grafika. ;-)

SZVSZ akinek van programozo skillje, annak teljesen mind1, hogy milyen nyelven kodol... barmelyik nyelvet meg tudja tanulni rovid idon belul

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!