Egy antropomorf modellel mutatjuk be a számítógép működését, lépésről lépésre... nagyjából követjük a számítógépevolúciót. A fejlődés egyes fontos stációit egy-egy felvonásban tárgyaljuk. A felvonásközi szüneteket felhasználjuk arra, hogy a felvetődött újdonsült fogalmakat definiáljuk a szokásos számítástechnikai szakzsargonban. Érdemes észrevenni, hogy időnként a hardverfejlődést felhasználjuk arra is, hogy bemutassuk a korabeli tágabb számítástechnikai kultúr-hátteret, így érthetővé válnak az okok, és nem mellesleg számos kapcsolódó ismeretre tehetünk szert.
Egy antropomorf mesével szeretnénk – a közérthetőség kedvéért – a számítógép fejlődését, történetét (s ennek kapcsán tipikus felépítését) felvázolni. Eközben – ami talán az előbb megfogalmazott célnál is jelentősebb – bepillantunk a számítástechnika teljesebb téma-spektrumába – egy szóalkotással élve – a számítástechnományba). A számítástechnomány szó kettősségre utal: a számítástechnika és a számítástudomány kettősségére. Célunk – ugyanis – e két hatalmas léptékű ismeretterületre némi betekintést nyújtani kezdő programozók részére.
Hogy nagy fába vágjuk a fejszét, az világos: hatalmas anyagot kell felvillantanunk a szakterületeket jellemző problémák felvetésével és ötlet szintjén való megoldásával. Módszerünk a következő lehet:
Az anyagot könnyen átélhetően egy dráma történéseibe fogalmazzuk bele úgy, hogy a számítógép evolúciója csak technikai keretül szolgáljon ahhoz a gondolatmenethez, amely kezdődik a számítógép felépítésénél, folytatódik ennek formálódásával, majd eljut a szuperszámítógépekig. E technikai aspektus mellé társuljon – mint ahogy annak idején, a valóságban is társult – az a gyakorlati probléma, amely magát a változtatást kierőszakolta, illetve az ehhez szorosan kapcsolódó szoftver és elvi, számítástudományi problémák.
Az egyes felvonások mind külön-külön számítástechnikai mondanivalót hordoznak. Az első kettő az alapokat rakja le: hogyan működik a számítógép, milyen alapelemekből tevődik össze egy neumanni számítógép, ezek hogyan működnek együtt a feladat megoldás érdekében, és még jó néhány ismert számítástechnikai terminus technicus bevezetésére nyílik lehetőség (Neumann-elv, kettes számrendszer, regiszter, gépi utasítás, bájt, algoritmus, gépi kódú program). A következő felvonásban egy emberibben programozható számítógépről álmodozunk: itt képzeljük el az assembly szintű nyelveket, a magasszintű programozási nyelveket, meggondoljuk – természetesen vázlatosan – az assembler és a fordító/értelmező programok működését, és a kapcsolódó fontos fogalmakat, mint a szintaxis (BNF) és a szemantika. A negyedik felvonás a klasszikus perifériák számítógéphez illeszkedését mutatja be meseszerű eljátszhatósággal, miközben megértjük, mit old meg, és hogyan a csatorna, mire jó a megszakítási rendszer, továbbá olyan fontos rendszerszoftver szükségessége is teljesen természetesen vetődik föl, mint az operációs rendszeré (éppen részleteinek körvonalazódása által). Az ötödikben a sok-felhasználós gépekről esik szó. Megismerjük a szokásos multiprocessing stratégiákat (a prioritás szerintit, és az időszeletelésűt), mindez ürügyül szolgál további fontos fogalmak megértetésére, pl. terminál, lapozás, memória- és fájlvédelem (illetve általában erőforrásokkal való gazdálkodás), job, task, program stb. A hatodik felvonást a számítógép-osztódás témakörének szenteljük. Kiderül, hogy a párhuzamos működésben is többféle elképzelés lehetséges (úm. tömb-, csővonalprocesszor, hálózat). E témakör is bőven kínál szoftver- és elvi problémákat, amelyek könnyen fölvázolhatók. Ilyenek: holtpont, halálos ölelés, információkódolás (modemek; hibaérzékelő, -javító kódok), protokollok, végrehajtási fa, párhuzamosítási fok (Brent tétele) stb.
Végezetül egy utolsó megjegyzés: a felvonások szüneteiben található feladatokat a hallgatóknak nem önállóan kell megoldaniuk, hanem tanári segítséggel, ui. nem a tudás ellenőrzése a céljuk, sokkal inkább a továbbgondolkodtatás.
![]() ![]() |
![]() |
![]() |
A tananyag az ELTESCORM keretrendszerrel készült