De igen, az egyetemmel van baj. A 18-20 éves hallgató leghangosabban a lábával szavaz: ami nem befogadható számára, oda nem megy el.
Régen (98-2003, utána bankinfo + doktorandusz levelezőn + 2007-ig beágyazott Linux oktatás) sem az volt a probléma, hogy az akkor divatos buzzwordök nem voltak emlegetve, vagy akár tanítva. A probléma, hogy nem áll össze egységes rendszerré. Pl. 2 megközelítéssel lehet szoftverfejlesztőt képezni: top down vagy bottom up. Az ELTE a matematika irányából egyértelműen top-down.
A BME VIK inkább bottom-up próbál lenni (digitális technika felől indulva), de nem mernek végigmenni az úton. Elkezdtem pár hónapja átnézni a reformált tantervet, és egyértelműen látszik a fejlődés, pl. a C nyelv és a digit új tananyaga nagyon jó.
Viszont 1 félév kezdő C után C++ totális mellélövés, 2 szempontból is:
1. Az OO-t próbálja C++-on tanítani, ami kb. olyan, mintha Porschén tanulnál vezetni (Youtube video megvan?)
2. Végigrohan a különböző C++ konstrukciókon, ahelyett, hogy gyakorlati példákon megtanítana _néhányat_, pl. RAII és template-ek. Ha semmi mást nem használsz C++-ból, csak a RAII-t, már megéri C helyett azt választani, mert megoldja a hibakezelésedet kivételek nélkül.
Emellett pl. a "Fizika light" úgy, ahogy van időpocsékolás. Már a régi Fizika 1-2-nek se volt sok értelme (én németesként a villanyos verziót hallottam).
A Prog 2-nek haladó C-nek kellene lennie, mikrokontroller programozással és Linux kernel programozással. Miért? Mert ez a világ (a közhiedelemmel ellentétben) sok szempontból sokkal egyszerűbb környezet, mint akár a POSIX vagy a Windows app környezet. És ráadásul self-contained, nem kell 10000 libraryt ismerni, hogy meg tudj mozdulni. A Digitális technika ismeretek sem tűnnének el a rövid távú memóriából a vizsga után, hanem elmélyülnének. Az aszinkron API-k használata nem lenne később "bonyolult".
Az Advanced C (Új prog 2) mellé bejöhet az Operációs Rendszerek elméleti tárgyként, így az OS fejlesztés elmélete + gyakorlata is meglenne, és később, amikor leírja, hogy malloc(), tudni fogja, hogy az mivel jár(hat).
3. félévben el lehet kezdeni adagolni az OO-t, a legtöbb fogalom gyakorlati megvalósítását már látta C-ben a kernel API-ban. Itt a gyakorlatot 2 irányba vinném el, egyrészt menedzselt nyelvek (Java, C#), másrészt bejöhetne C++ alapok (külön tárgyként, ha belefér, de ha 4. félévre csúszik, az sem baj).
A legfontosabb reform azonban az előadások megszüntetése lenne jelenlegi formájukban. Nem tudom még benne van-e a Gólyaimplulzusban, de '98-ban benne volt a fogalomtár:
- első előadás: tele az előadó (lépcsőn is ülnek), csillogó szemmel figyelik az oktatót, aki átszellemülten magyaráz a területről
- előadás: néhány ember lézeng az előadáson, nagy részük üveges szemmel mered maga elé, az oktató unottan magyaráz
Miért van ez? Az előadás mind az előadó, mind a hallgató számára nyűg:
- általában rossz időpontban van (mindenki számára)
- fontosabb dolgoktól vonja el az időt (oktató - kutatás, hallgató - alvás :))
- a hallgató _nem_ az előadáson fogja megtanulni / megérteni az anyagot. Hanem majd otthon / koleszban vizsgára / zhra készülve. Esetleg amikor elmagyarázza neki valaki, aki már megértette.
- az előadás nem interaktív - elméletben persze kérdezhetsz, de senki nem csinálja (a kérdezőket strébernek / nyalósnak tartják a többiek, míg ha egyszerű dolgot kérdezel, a tanár beskatulyázhat, hogy hülye vagy -> lose - lose szituáció).
Ehelyett valódi digitális tananyagra van szükség: nem egy előadás felvétele és odab...szása, mint korábban próbálkoztak vele, hanem a tananyag feldolgozása digitálisan: maximum 5-10 perces szegmensek, videók, egyéb vizuális anyagok, ellenőrző kérdésekkel. A videóban minden ponthoz kommentelni lehet (pl. Ez itt WTF??), így a hallgatók + az oktató is egymást segítik. Egy félév alatt kiderül, hogy melyik szegmensekhez van sok kérdés, azokat át kell dolgozni, a kommenteket / kérdéseket figyelembe véve.
Plussz ahogy halad a technika, nem kell minden szegmenst kidobni, hanem csak bővíteni újakkal, átdolgozni néhány meglevőt. Ez sokkal kevesebb munka hosszú távon, mint _minden_ félévben elmondani majdnem ugyanazt.
A másik fontos dolog: tömbösített oktatás: a tárgyakat nem keverten 1-2 óra / hét intenzitással oktatni (amik nagyrésze kidobott idő, csak zh és vizsga előtt kezdenek tanulni az emberek), hanem egyszerre 1-2 összefüggő tárgyat 1/4. évig, utána vizsga. Minden tömbben az oktatókkal közösen valódi, gyakorlati projektet is kell csinálni. Aztán jön a következő tömb, ami már építhet az előzőre. Ez nem új ötlet, a lenézett Gábor Dénesen ~15 éve már így oktattak, ami jó, azt nem szégyen átvenni.
Tudnám még mondani pár órán keresztül (ha van rá igény, folytathatom :) ), de a lényeget fentebb leírtam.