Vélemények
Az egyetemi oldalakon való kutakodás mellett e-mailben is felvettem a kapcsolatot néhány intézmény vezetőjével, oktatóival. Amellett, hogy válaszaik sokat segítettek a tematikák összeszedésében, pontosításában, megkérdeztem véleményük, tapasztalatuk pár témában.
Az első nem a tanmenetre vonatkozó kérdésben arról faggattam őket, ami Sziffrid szerint nálunk nagy elvi vita volt a HK és az oktatók között (lásd a decemberi Impit): mennyire várnak el a szakon készségszintű programozási tudást a hallgatóktól. A válaszok többé-kevésbé egységesek voltak: igenis szükséges a gyakorlati tudás, azonban nagyon fontos, hogy ezt komoly elméleti alapozás támassza alá. Dr. Kotsis Domokos, a BMF NIK oktatási igazgatóhelyettesének válaszából egy az egyben idézném az alábbi pár sort:
"Igen fontos, hogy ellen kell állnunk annak a nyomásnak, amely arra hivatkozva, hogy hallgatóinknak azonnal használható ismeretekre van szükségük, a felsőoktatást – és különösen annak főiskolai ágát – valamiféle licenceket adó tanfolyamok sorozatává kívánta alakítani. A felsőoktatásnak nem célja szellemi betanított munkások képzése, akik olyan – kétségtelenül azonnal használható – ismeretekkel rendelkeznek, mely ismeretek néhány év alatt használhatatlanná avulnak. Gazdaságtalan, célszerűtlen és kivitelezhetetlen a diplomás "szakembereket" életük folyamán 10–15 ízben újra iskolapadba ültetni. Célunk csak olyan értelmiségiek képzése lehet, akik önállóan képesek tanulni, s a diploma megszerzése után évtizedekkel is építhetnek az itt szerzett alapokra.
Ugyanakkor látnunk kell, hogy tisztán elméleti úton nem lehet ezt a mesterséget (sem) megtanulni, a hallgatóknak a szakmát művelniük is kell. Kizárólag teljesen általános és így teljesen elméleti eszközökkel egy elméleti matematikus dolgozhat, de egy mérnök nem."
Szitás Zoltán (Nyugat-Magyarországi Egyetem) szerint "Bár egy informatikus és egy programozó (kódoló) közé nem tehetünk egyenlőségjelet, egy informatikusnak mindenképpen rendelkeznie kell programozási ismeretekkel, még ha azok nem is a legapróbb részletekbe menőek." Végső célkitűzéseiket a következőképp fogalmazta meg: "Azt mondhatjuk, hogy ha a harmadik féléves (Java) labor végén a hallgatók képesek egy nagyházi feladat keretében egy egyszerűbb, háromrétegű, objektum-orientált alkalmazást önállóan megtervezni és elkészíteni, akkor biztosan elérték azt a szintet, amit szerintünk egy gazdasági informatikusnak tudnia kell.".
Szegeden komolyabbak a követelmények (bár tény, ott műszaki és nem gazdasági informatikust képeznek): "A végzős hallgatóknak képesnek kell lenniük összetett programok megértésére, diplomamunkájuk keretében 6-8 hónapig dolgozhatnak témájukon, ez általában egy közepes méretű alkalmazás fejlesztését is magában foglalja.". Egy ezen a szakon tanuló ismerős diák szerint is a gyakorlatiasabb oktatás a követendő út, ő C-vel és párhuzamosan Assembly-vel kezdene, aztán jöhet az OOP Javával, mindezt komoly elvi alapozással és a tényleges kódolást is alaposan számonkérve.
Rákérdeztem még a hallgatók nehézségeire, hogy mit tesznek annak érdekében, hogy a kezdetben rájuk zúduló hatalmas ismeretanyag, újdonság feldolgozhatóbb legyen, össze lehessen egyeztetni az elméleti és gyakorlati ismeretek elsajátítását, és arra, hogy mi bizonyul a legnagyobb buktatónak. Kotsis úr szerint "törekvésünk, hogy gyakorlati feladatoknak az elvek illusztrálását, megvalósítását kell mutatniuk, nem szabad, hogy a két terület elváljon egymástól". Náluk az ilyen irányú szigorlat gyakorlati feladatai okozzák a legnagyobb gondot: "A legvalószínűbb magyarázat az, hogy a készségek több féléven át elmulasztott elsajátítását nem lehet néhány napi »rohammunkával« pótolni.". Schrettner Lajos (SZTE): "Oktatásunk átszervezésének egyik célja éppen a kezdeti ismeretanyag mennyiségének csökkentése. Ezt úgy próbáljuk elérni, hogy az első időszakban a programozás technikai részére koncentrálunk, később térünk át az algoritmustervezési és programfejlesztési ismeretekre.". Ezzel valamiképp ellentétes felfogást követnek a Nyugat-Magyarországi Egyetemen: "Mind a nyelvi elemek, mind a programozási szemléletmód, algoritmizálás önmagában is elég hatalmas anyag, ezért az oktatásunkban igyekszünk a C, C++ nyelvi elemeket a minimálisra visszaszorítani, de megköveteljük, hogy ezeket nagy biztonsággal tudják használni.". Tőlük konkrét példákat is kaptunk, mi a legnehezebb soproni sorstársainknak: "A C nyelv elsajátítását nemcsak a nehezebben megtanulható nyelvi elemek (beolvasás, kiírás szintaktikája, pointerek, önhivatkozó adatstruktúrák) nehezítik, hanem a C fordítók – kezdők számára – nehezen megfejthető hibaüzenetei. Az objektum-orientált programozásban a legkritikusabb terület az öröklődés és a polimorfizmus (fogalma, megvalósítása, helyes használata), a C++ nyelvben a fordítók által generált függvények (alapértelmezett konstruktor, destruktor, másoló operátor).".
gyp