A rendszerszintű gondolkodás fejlesztésének oktatásmódszertani lehetőségei az informatikaoktatásban
Korom Szilárd1, Illés Zoltán2
{1korom.szilard, 2illes}@inf.elte.hu
ELTE IK
Absztrakt. Az informatika oktatása során a fejlesztendő kompetenciák között legtöbbször az algoritmikus gondolkodást, a problémamegoldást vagy az alkalmazói képességet említik. A rendszerszintű gondolkodás, mint informatikai kompetencia fejlesztésének lehetőségei ritkán kerülnek elő, pedig annak fontosságáról, jelenlétéről és elkerülhetetlenségéről már számos tanulmány készült. Az alábbi cikkben azt kívánjuk bemutatni, hogy a gyakorlati oktatás során egy tananyagot hogyan lehet úgy felépíteni, hogy az alkalmas legyen a kompetencia fejlesztésére.
Kulcsszavak: rendszerszintű gondolkodás, rendszergondolkodás, informatikai kompetenciák, kompetenciafejlesztés
1.	Bevezetés
A rendszerszintű gondolkodás egy olyan konkrét kompetencia, mely az tanításmódszertani kutatásokban ritkán jelenik meg, bár már régóta tudjuk, hogy az informatikai kompetenciák egyike [1]. Mindemellett professzionális környezetben egyre részletesebben foglalkoznak vele. Az informatikai jellegű kutatásokban egyre gyakrabban említik nem csak, mint kompetencia, de mint képesség, szemléletmód is. Úgy tűnik ez elengedhetetlen nem csak az informatikával foglalkozó szakember számára, de szinte minden területen, ahol alapvetően komplex rendszerek működtetése, fenntartása a cél, márpedig egyre bonyolultabb rendszerek vannak az élet szinte minden területén, így a rendszergondolkodókra is egyre nagyobb szükség van [2].
Ahhoz, hogy a rendszerszintű gondolkodás fejlesztéséhez alkalmas tananyagokat tudjunk készíteni, szükség lesz egy modellre, mely a rendszerszintű gondolkodást keretbe foglalja, mely útvonalat ad,
2.	Kutatásmódszertan
A rendszerszintű gondolkodás fejlesztésére alkalmas tananyagokat dolgoztunk majd próbáltunk ki különböző tanulói csoportokkal. A kutatás lényege elsősorban a megvalósíthatóság és a tapasztalatok begyűjtése, rendszerezése volt. Természetesen akkor lenne teljes a kutatás, ha mérni tudnánk, hogy a módszertanukkal ténylegesen tudtuk fejleszteni a rendszerszintű gondolkodást, illetve azt is, hogy más módszertannal nem tudnánk ilyen hatékonyan fejleszteni azt. Sajnos ezt még nem tudjuk megtenni, mert a rendszerszintű gondolkodás szintjének mérésére nem létezik alkalmas, kvantitatív módszer. Miután elkészülünk egy ilyen rendszerrel, ezeket az igen fontos méréseket elkívánjuk majd végezni.
Az előzőeken felül mélyinterjúkat készítettünk szenior, tapasztalt programozókkal és architektekkel annak érdekében, hogy feltérképezzük, pontosan mire van szüksége egy szoftverfejlesztőnek a munkája során, vagyis az egyetemnek mire kell felkészíteniük a hallgatókat a programtervező informatikus képzésen.
3.	A kompetencia szerepe
Jelenleg az informatika oktatása leginkább az alkalmazói rendszerekről, az algoritmikus gondolkodásról, illetve a digitális kultúra tantárgy bevezetése óta különböző digitális kompetenciák kialakításáról szól (mint az online kommunikáció, publikálás stb.) [3] [4]. Általánosságban elmondható, hogy a programozás oktatása és az algoritmikus képesség gyakran egyenlőnek van tekintve, vagyis a programozás oktatása az algoritmizálás kompetenciájának fejlesztésére szolgál, vagy azt tekinti fő feladatának. Jól mutatja ezt, hogy a kerettantervben is „Algoritmizálás, formális programozási nyelv használata” szerepel [4]. Egyre több esetben a problémamegoldásra helyezi a módszertan a fő fókuszt [5], azaz a programozás konkrét problémák megoldásán keresztül értelmezi. A fő probléma az, hogy a komponensek működése, a részproblémák megoldása általában nem okozza egy rendszer működését, hiszen sokszor a rendszer struktúrája és nem pedig az egyedi összetevők állapotai határozzák meg a működést [1]. Hiába tanul meg a diák vagy hallgató egyedi komponenseket, ha azokat nem tudja különböző informatikai kontextusokban értelmezni. A tanulás folyamata során kiemelkedő jelentősége van, hogy az új elem illeszkedjen a meglévő tudásbázishoz, beilleszkedjen az informatikáról kialakított tudásgráfba. A kontextus és a rendszerek elhagyásával a hallgatónak nincsen esélye erre, mert ekkor az új tudáselem egy izolált pont lesz a gráfban. A leggyakrabban ekkor a hallgató arra panaszkodik, hogy nem tudja mire jó ez az új tudás, hol és hogyan lehet alkalmazni vagy egyáltalán mi az értelme. Ha azonban már tudja kötni valamihez, akkor a motivációja is emelkedik, hiszen egy korábbi problémára vagy egyszerűen egy lyukas foltra kínál megoldást az új tudáselem.
Így fordulhat elő például az, hogy bár a diákok tanulják az Access-t középiskolában, mégsem értik mi a különbség egy relációs adatbázis és egy táblázat között [6]. Elsőéves hallgatók például az 1. ábrán látható válaszokat adták arra a kérdésre, hogy miért adatbázisban tároljuk az adatokat általában és nem fájlokban. Az ábrán jól látszik, hogy a hallgatók több mint háromnegyedének gyakorlatilag fogalma sincs a helyes válaszról.
	
1. ábra: A „miért adatbázist használunk táblázat helyett” kérdésre adott válaszok arányai [6]	
A 2. ábrán jól látható, hogy az Access oktatása középiskolában olyannyira sikeresen épít a táblázatkezelésre, hogy a hallgatók kétharmadának nem igazán sikerül értően megkülönböztetniük a kettőt.
	
2 ábra: A „mi a különbség a táblázat és adatbázis között” kérdésre adott válaszok arányai [6]	
Ebben a helyzetben a diákok valószínűleg meg tudnak oldani Access feladatokat, fel képesek ismerni egy adatbázist, sőt, összetett feladatokat is meg tudnak oldani, mégsem illesztették bele az informatikáról alkotott nagy képbe. A következő fejezetekben konkrét tananyagelemkkel kapcsolatban kívánjuk bemutatni ezt a problémát, valamint példákat kívánunk adni arra, hogyan lehet a rendszerszemléletet átadni.
4.	Módszertani lehetőségek és példák a kompetencia fejlesztésére
4.1	Szövegszerkesztés – Word

A rendszerszintű gondolkodás fejlesztése a Word oktatása során azt jelenti, hogy nem az az egyetlen cél, hogy szövegszerkesztési problémákat oldjunk meg (pl.: hogyan lehet megoldani, hogy egyik oldal fektetett legyen, míg a másik állított, hogyan lehet önéletrajzot készíteni, meglévő sablonokat felhasználni), sem pedig, hogy növeljük az alkalmazói képességet, hanem hogy tanuljunk valami általánosat a szövegekről, az információ ábrázolásáról, formázásáról. Vegyék észre a diákok a kapcsolatot a Word és egy csevegő alkalmazás beviteli mezője, vagy egy fejlesztői környezet (IDE) között. A fontos fogalmak ezzel a megközelítéssel tehát sokkal inkább a gyűjtőfogalmak, mint az alakzatok, karakterszintű formázások, bekezdésszintű formázások, szakaszszintű formázások stb. A lényeg tehát, hogy amikor a diák elkészít például egy önéletrajzot, akkor ne a Word sajátosságiból induljon ki, hanem általános elképzelésekből, melyekhez egy, de nem az egyetlen eszköz a Word.
4.1.1 Óravázlat
A következőkben egy konkrét órapéldát kívánunk mutatni arra, hogy hogyan lehet a rendszerszintű gondolkodás kompetenciáját fejleszteni a szövegszerkesztésen keresztül.
Az óra 8. évfolyam számára készült, mint a szövegszerkesztést beveztő óra. Ehhez mérten épít a következő alapismeretekre:
•	Alapvető karakterformázások.
•	Alapvető bekezdésformázások.
•	Képek beágyazása a dokumentumba
•	Bekezdés/oldal szegélyezés
Az 1. táblázat annak az órának a tervét mutatja, melyet élesben is megvalósítottunk, s mely véleményünk szerint a rendszerszintű gondolkodás fejlesztését tűzi ki célul.
Idő	
Tananyag	
A tevékenység célja	
Munkaformák és módszerek	
Megjegyzés	

0–2 perc	
A terem elfoglalása	
A diákok bejönnek, elfoglalják a helyüket, felkészülnek az órára.	
-	

2-5 perc	
Köszönés, névsor, bevezetés	
Bemutatkozás, jelenlévők ellenőrzése. Az előttünk álló téma megnevezése, rövid bemutatása	
Oktató által irányított	

5-13 perc	
Rövid bemutató	
A téma felvezetése, gondolatébresztés. Mi mindenre használjuk a szövegszerkesztést?	
Frontális	
A mellékelt PowerPoint bemutató alapaján.	

13-15 perc	
Feladat kiadása	
A szöveg szerkezetének megértése	
Frontális	
A feladat: Az ismert műveleteket próbáljuk meg valamilyen szempont alapján kategorizálni. Mik azok, amik 1 csoportba tartoznak?	

15-20 perc	
Feladatmegoldás	
A téma önálló feldolgozása	
Páros munka	

20-26 perc	
A diákok válaszainak feldolgozása	
Az alapvető fogalmak bemutatása, a szerkezet megismerése.	
Ellenőrzés. Használandó eszköz: Word-SmartArt	
Amennyiben a diákok által felállított kategóriák nem felelnek meg a valóságnak, a tanár finoman korrigáljon. Cél, hogy a szekció végére elkészüljön egy olyan struktúra, mely jól bemutatja az alapvető fogalmakat.	

26-27 perc	
Az ábra lerajzolása a füzetbe	
Az elmélet rögzítése, hogy később visszakereshető legyen	
Egyéni	
A táblázat után látható a várható ábra	

27-29 perc	
Az önálló feladat kiadása, közben gépek bekapcsolása	
Felkészülés az önálló feladatmegoldásra	
Frontális	
A feladat: Mindenki készítsen el egy dokumentumot a mellékelt nyers szöveg alapján. Formázza úgy, ahogyan az szerinte a lehető legigényesebb, olvashatóbb.
Az elkészült művekből a legigényesebbeket, a következő óra elején elemezni fogjuk.	

29-44 perc	
Önálló feladat megoldása	
Az eddig tanultak gyakorlati felhasználása, azaz egy olyan szemléletre való kitekintés, ahol a szövegszerkesztést nem instrukciók alapján megcsináljuk, hanem felhasználjuk a megszerzett tudást.	
A diákok egyénileg dolgoznak. Az oktató járkál, ellenőrzi a munkavégzés folyamatát és segít, ha kell.	
Az elkészített munkáknak a következő órán lesz nagy szerepe, hiszen ezekből néhányat fogunk elemezni közösen.	

1. táblázat: Szövegszerkesztéses óravázlat a rendszerszintű gondolkodás fejlesztésére	
A bevezető órának a lényege, hogy a meglévő alapvető információkra építve a hangsúlyt a program általános felhasználhatóságára és céljára helyezze a hangsúlyt. A diákok fő feladata egy csoportosítása a funkcióknak, s nem pedig pl. konkrét funkciók megtanulása különböző példákon, problémákon keresztül. Az oktató feladata a kontextus bemutatása és az összegző munka terelgetése és kiegészítése. Ehhez mérten az első óra legelején lévő igen rövid bevezetőhöz készült bemutató is összehasonlító, összegző diákat tartalmaz általánosságban a szövegszerkesztésről. A cikkben 2 példák kívánunk bemutatni a 6-ból.
	
3. ábra: Az a dia a szövegszerkesztés órájának bevezető bemutatójából, mely a szövegek általános felhasználását mutatja be.	
A 3. ábrán látható diának az a lényege, hogy rámutasson arra, hogy a szövegszerkesztés messze túlmutat a Wordon, de még a standard szöveges dokumentumokon is (pl.: videókban, logókban, forráskódban).
	
4. ábra: Az a dia a szövegszerkesztés órájának bevezető bemutatójából, mely a szövegszerkesztő felületének mellékességét szemlélteti	
A 4. ábra a Word felhasználói felületének evolúcióját mutatja be, mellyel az oktató érzékeltetheti mennyire nem az a fontos, hogy a diákok azt tanulják meg, mi milyen beállítás hol van, hogyan hívják.
	
5. ábra: A szövegszerkesztő óra önálló feladatai igen vegyesek	
Az óratervezetben, így az 5. ábrán az is megjelenik, hogy a szövegszerkesztésnél (rendszerszemlélettel) nincsen különbség a karakterszintű formázások és a szakaszszintű formázások között, hiszen ezek csupán 1-1 lehetőségek egy konkrét alkalmazásban. Ez a gyakorlatban azt jelenti, hogy ezeket a lehetőségeket egyáltalán nem szükséges külön-külön oktatni. Az óra tartása közben is azt tapasztaltuk, hogy a diákoknak egyáltalán nem okozott gondot a 5. ábrán látható feladatok vegyessége, ahogyan az sem, hogy eddig ismeretlen eszközöket kellett használniuk.
4.2	Táblázatkezelés – Excel
A rendszerszintű gondolkodás fejlesztése az Excel tanítása során azt jelenti, hogy valami általános szemléletet igyekszünk kialakítani a diákokban az adatok rendszerezéséről, értelmezéséről, feldolgozásáról és ábrázolásáról. Ha például a diákok kapnak egy mintafájlt válogatott és rendszerezett adatokról, amit be kell olvasniuk a táblázatkezelőbe (ahogyan az például az érettségin is lenni szokott [7], s ehhez mérten a gyakorló órákon is), akkor ezt a szemléletet nem kapják meg, hiszen a rendszerszintű gondolkodás szerinti legfontosabb feladatot nem ők végzik el. Az adatok összegyűjtése és rendszerezése a végeredmény szempontjából úgy, hogy a feldolgozáshoz szükséges függvényeket, lekérdezéseket hatékonyan meg lehessen csinálni maga a rendszerszintű gondolkodás (amit például egy tanár csinál egy dolgozat összeállításánál).
4.2.1 Óravázlat
A következő rendszerszintű gondolkodás fejlesztésére alkalmas példaóra kiválóan megvilágítja az imént említett problémát. Az óra 9. évfolyam számára készült, mint a táblázatkezelést bevezető óra. Ehhez mérten épít a következő alapismeretekre:
•	Alapvető formázások, cellaformázás
•	Cellahivatkozások
•	Alapvető, egyszerű függvények (pl.: Átlag, Datab, Min, Max)
•	Egyszerű diagrammok
A 2. táblázat az óra vázlatát tartalmazza.
Idő	
Tananyag	
A tevékenység célja	
Munkaformák és módszerek	
Megjegyzés	

0–2 perc	
A terem elfoglalása	
A diákok bejönnek, elfoglalják a helyüket, felkészülnek az órára.	
-	
A gépet már most bekapcsolhatják	

2-20 perc	
Bevezetés	
Bevezetés, a vett témakör elhelyezése, áttekintés, ismétlés.	
Oktató által irányított beszélgetés	
A következő kérdések alapján:
-	Mit tanulunk éppen?
-	Mi ennek a szerepe az informatikában? Miért fontos?
-	Miben más ez, mint egy normál táblázat?
-	Mik a táblázatkezelés sajátosságai?
Mik azok a függvények, elágazások?	

20-30 perc	
Egy témakör táblázatos absztrahálása	
A „táblázatos logika” elmélyítése, megközelítések összehasonlítása, esetleges félreértések tisztázása	
Páros munka	
5 percet kapnak a diákok, hogy a következő témakörben a szerintük leglogikusabb táblázatot összerakjuk mintaadatokkal:
Iskola, osztály, diákok
Ha elkészültek pár kiválasztott táblázat bemutatása, megtárgyalása	

30-40 perc	
Milyen funkciókat várunk el	
Az elkövetkezendő függvényekre ő maguknak támadjon igénye	
Oktató által irányított beszélgetés	
Egy konkrét adathalmazból kiindulva/általánosítva fogalmazzuk meg, milyen (további)függvényeket várunk el a programtól. A konkrét adathalmaz mellékelve.

40-45 perc	
Órazárás, gépek kikapcsolása, összefoglalás	
Az átbeszéltek alapján összefoglalás, az említett fogalmak elmélyítése	
Oktató által irányított beszélgetés	

	
2. táblázat: Táblázatkezelés óravázlat a rendszerszintű gondolkodás fejlesztésére	
Hasonlóan a szövegszerkesztős példához, az itteni óra is 3 nagy részre osztható:
•	Az eddig megtanult alapok rendszerezése, kontextusba helyezése
•	Egy rendszer jellegű probléma megoldása
•	Reflexió, melynek a végére a diákok a DIKUW modell szerinti „megértés” szintű kérdésekre válaszolnak
A táblázatkezelés esetében a rendszerprobléma az adatok „jól” szervezése volt. A 3. táblázat egy, a diákok által készített táblázatokból (a neveket kicseréltük, hiszen a diákok a sajátjaikkal töltötték fel). Ez a strukturális alapelv az 5 kiscsoportból 2 helyen megjelent.
Névsor	
9.a	
9.b	
10.a	
10.b	
11.a	
11.b	
12.a	
12.b	
Összes	
Átlag	

Horváth Anna	
Gábor Anna	
Kiss Kincső	
Tóth Ádám	
Nagy Bence	
Belső Donát	
Orbán Etel	
Pintér Emese	

	
Kovács Mária	
Pécsi Gábor	
Varga József	

Farkas Szonja	
Vass Napsugár	
Bakos Barna	

	
Napos Ádám	
	
Szabó Emese	

	

	

	
Nagy Míra	

	

	

	

Létszám	
4	
2	
3	
1	
1	
2	
2	
2	
20	
2.125	

3. táblázat: A diákok által készített táblázat	
A táblázat felosztása nem teljesen rossz, hiszen csupán annyi instrukciót kaptak, hogy „Iskola, osztály, diákok” (bár élőben említésre került, hogy az nincsne rögzítve, pontosan milyen adatokat akarunk tárolni). A táblázat képes befogadni névsor adatokat osztályonként, de gyakorlatilag semmi másra nem képes. A lenagyobb probléma a táblázattal az, hogy nem bővíthető, további diák-, osztály-, iskolaszintű tulajdonságokkal nem kiegészíthető. Persze mivel nem relációs adatbázisban vagyunk, nem feltétlenül szükséges ilyen megkötéseket tennünk. A lényeg itt sokkal inkább az, hogy a diákok számára nem magától értetődő, hogy a feladatokban miért szinte mindig a normálformált adatstruktúra látható. Mivel az óra közben természetesen vetődött fel ez a helyzet, ráadásul „jó” megoldás is született, ezért értelmesen tudtuk összehasonlítani, sőt, a diákok tudták levonni a következtetés mikor melyik jó.
4.3	Informatikai rendszerek
Egy korábbi cikkünkben arra mutattunk példát, hogy komplex informatikai- vagy szoftverrendszerek eljátszhatók a diákokkal tantermi környezetben gyakorlatilag eszköz és előismeret nélkül [8]. Az ilyen játékok lényege, hogy a diákok valós tapasztalatot szerezzenek, játékosan fedezzenek fel megoldásokat, szembesüljenek buktatókkal [9]. A játék során a diákoknak 1-1 algoritmus, alkalmazás hardver vagy felhasználó szerepét kell felvenniük és közreműködve kell szimulálniuk egy informatikai rendszer működését. Ehhez csupán annyi szükséges, hogy az oktató kitalálja a csoport számára legérdekesebb, de az eszközökhöz és helyhez mérten leginkább megvalósítható informatikai rendszert. A fentebb említett cikkben mi egy okosotthon projektet választottunk, melynek lehetséges architektúrái a [FORRÁS] és [FORRÁS] ábrán láthatók.
		
6. ábra: Okosotthon architektúra szerver nélküli változata	7. ábra: Okosotthon architektúra szerveres változata	
4.4	Programozás
A programozás esetében a rendszerszintű gondolkodás fejlesztése nagyon tág határok között mozog, hiszen a programok, szoftverrendszerek nagyon sokféle rendszert alkothatnak és gyorsan bonyolódnak. Oktatási környezetben bizonyos rendszerek szimulációja igen nehéz. Például azt bemutatni, hogy a shell script programozás hogyan illeszkedik az informatika nagy egész rendszerébe, pontosan milyen helyzetekben hasznos vagy elengedhetetlen nagyon nehéz. Tantermi körülmények között sem a konténerizált világ, sem a szoftverrendszerek funkcionális, automatikus tesztelése, sem pedig az operációs rendszerek működtetése nem igazán megvalósítható. Teljesen más rendszerről van szó, ha a beágyazott vagy alacsonyszintű programozásról, a webfejlesztésről, vagy magasszintű nyelvekről van szó. A rendszerszintű gondolkodás fejlesztése szoftverrendszereken, fejlesztésen keresztül tehát nagyban függ az oktató céljaitól, a csoport összetételétől, érdeklődési körétől és életkori sajátosságaitól. Ez persze inkább „feature” mint sem „bug”, hiszen kellően skálázható, modularizálható, spirális tananyag készíthető az oktató által.
Mivel a szoftverrendszerek gyorsan bonyolódnak, ráadásul a technológiai stack is hamar nagyra duzzadhat, az oktatónak alaposan meg kell válogatnia, milyen rendszert visz be a diákok számára. Ahogyan azt a korábbi fejezetekben is említettük, a rendszerszintű gondolkodás fejlesztése nem azt jelenti, hogy bármilyen bonyolultságú, nehézségű rendszer bevihető a diákok számára. A nehézség pont abban rejlik, hogy a feladat maga pont annyira legyen bonyolult, amit a diákok javarészt saját erőből, minimális oktatói segítséggel/terelgetéssel képesek részeire bontani, a meglévő elemeket felismerni, vagy a rendszer működését módosítani, kiegészíteni. A szoftverrendszerekkel tehát az a probléma, hogy nehéz olyan kézzel fogható, könnyen érthető példát találni, mely könnyen skálázható, alakítható az oktató aktuális igényeinek megfelelően.
4.4.1 Scratch példa
Meg kell jegyezni azonban, hogy nem csak szoftverrendszerekkel lehet a rendszerszintű gondolkodást fejleszteni. A Scratch környezetben is lehet készíteni olyan játékokat, mely rendszerproblémákat hoznak elő, pedig maga a felület nehezen nevezhető komplex rendszernek. Ilyenek azok a játékok, ahol több szereplő van interakcióban egymással, reagálnak valahogyan egymás viselkedésére, hiszen könnyen „race condition”, vagyis versenyhelyzet állhat fenn, ami az egyik leggyakoribb rendszerprobléma a szoftverfejlesztés világában. Ezt könnyen demonstrálja a 8 - 10.ábrán látható példa, ahol akkor kapunk pontot, amikor az egyik szereplőnk elkapja a másikat, ami az elkapásra úgy reagál, hogy egy véletlen helyen megjelenik.
			
8. ábra: A Scratch játék kinézete.	9. ábra: A macska (irányító gombokat kezelő kódjain kívüli) kódja	10. ábra: Az alma kódja	
Ez a megoldás problémás, hiszen nem determinisztikus a viselkedés, habár külön-külön a komponensek algoritmikusan és szemantikailag is helyesek. A kimenet attól függ, hogy egymáshoz képest a két szereplő mikor ér el a feltételben szereplő utasítás végrehajtására. Ha a macska kódja nagyon gyors, akkor akár több pontot is kaphatunk, mire az alma másik helyre ugrik, de ha az alma kódja nagyon gyors, akkor hamarabb elugrik, minthogy a macska érzékelte volna az érintkezést, vagyis egyetlen pontot sem kapunk. Végső soron tehát az ilyen helyzetek eredménye attól függ, hogy a párhuzamos folyamatok mikor és mennyi processzoridőt kapnak, vagyis az ütemezőtől és a rendszer aktuális állapotától 
4.4.2 Szoftverrendszerek
Ahogyan korábbi cikkeinkben is javasoltuk, a beágyazott és valós idejű, vagyis „IoT” rendszerek kiválóan alkalmasak a kompetencia fejlesztésére [10]. A 11. ábra jól bemutatja mennyire könnyen alakíthatóak ezek a példák.
	
11. ábra: IoT rendszerekkel oktatható informatikai modulok.	
Az ábra azt mutatja be, hogy az IoT rendszereken keresztül oktatás milyen komponenseket érinthet, mikre helyezheti az oktató a hangsúlyt.
Mi az alábbi példát próbáltuk ki mesterképzéses hallgatókkal az Eötvös Lóránd Tudományegyetemen. A csoport létszáma 8 fő volt. Okosotthon projekteket szerettünk volna építeni a hallgatókkal Raspberry Pi eszközökkel. Itt a hangsúly a valós idejű rendszereken volt.
Óra	
Leírás	

1.	
IoT bevezetés
Témakör bevezetése, elméleti háttér áttekintése. Egy minta program bemutatása, mely egy valós életbeli IoT projektet demonstrál
Hardverelemek összeépítése
A hardverek összeépítése, összekötése, élőben kipróbálása mintakódokkal.
•	Hogyan kommunikáljunk Sense Hat modullal (szenzor adatok begyűjtése, LED mátrixra kirajzolás)
•	Hogyan vezéreljük a kamera modult?
tkinter Python GUI csomag alap funkcióinak kipróbálása	

2.	
MQTT protokoll
MQTT broker installálása, konfigurálása és helyi hálózati kommunikációra használása. A publish-subscribe filozófia megismerése, események és eljárások használata az előző órai példák felhasználásával.	

3.	
Felhő szolgáltatások
Firebase nem-relációs valós idejű adatbázis konfigurálása és integrálása egy okos otthon szimulációs projektbe.	

4-6.	
IoT Lab
Önálló, valóság közeli rendszerek tervezése és implementálása 2 fős csapatokban.	

4. táblázat: Mesterképzéses tananyag: IoT rendszerek oktatása	
A 4. táblázat bemutatja a 6 órát blokk általános tervezetét, melyből jól látszik, hogy a modul egy lehetséges végleges projekt demonstrációjával kezdődik. A következő órákon pedig 1-1 önmagában értéket képviselő komponenssel foglalkozunk, melyeket a hallgatók rögtön tudják azonosítani, hogy hova tartoznak. Az utolsó órák pedig biztosítják, hogy biztosan képesek legyenek a megtanultakat együtt alkalmazni.
4.5 Egyéb módszertani fogások
Idáig konkrét példákon keresztül próbáltuk bemutatni a rendszerszintű gondolkodás fejlesztésének lehetőségeit. Vannak azonban általános lehetőségeink is, amit szinte mindenhol lehet alkalmazni. Erre már készültek tanulmányok, amik a gondolattérkép, visszajelző hurkok, ok-okozati térképek használatainak hasznosságát hangsúlyozzák ki [FORRÁS]. A lényeg tehát, hogy gyakorlatilag minden tananyagelemről elmondható, hogy beilleszthető valamiféle kontextusba, hozzáfűzhető egy más meglévő tudáshoz vagy egymáshoz. Ha ezt a munkát a diákok végzik el az oktató segítségével, akkor a tudás megértéssé válik, hiszen annak értelmezését az ábrák elkészítésével a diákok elvégzik.
5.	Visszajelzés az iparból
Készítettünk mélyinterjút 7 tapasztalt fejlesztővel. A beszélgetések előtt direkt nem említettem, hogy a rendszerszintű gondolkodás lesz a téma, hogy ne befolyásoljam őket. Az interjú a következő pontok mentén zajlott:
•	Milyen olyan komplex/emlékezetes problénák jutnak eszedbe, amelyeket meg kellett oldanod, mint fejlesztő?
•	Mire volt szükséges, hogy megold ezeket a problémákat?
•	Kompetencia
•	Szakmai tudás
•	Egyetemi tantárgy
•	Egyéb
•	Fontosnak tartod az egyetem elvégzését?
•	Hogyan lehetne a képzést jobbá tenni?
A beszélgetések teljes kifejtése nem fér ezen cikk kereteibe (és szeretnénk is még bővíteni az interjúalanyok számát), azonban ami számunka jelen esetben releváns, hogy a 7-ből minden alany említette a rendszerben való gondolkodás fontosságát. Volt olyan fejlesztő, aki az algoritmikus gondolkodást nem is említette (habár annak fontossága megkérdőjelezhetetlen), tehát elmondható, hogy a rendszerszintű gondolkodás a programozói életben a legfontosabb kompetenciák közé tartozik. A megkérdezettek hangsúlyozták az egyetem fontosságát, visszatérő kritika viszont az volt, hogy csak később derült ki számukra az, hogy 1-1 tantárgy milyen fontos is valójában. Ahogyan ezt korábban is említettük a kontextus, a rendszerek elhagyására, nem hatékony bemutatására utalhat.
6.	Összefoglalás
A cikkben megpróbáltuk a szövegszerkesztésen, táblázatkezelésen és programozásoktatáson, valamint általánosan használható eszközökön keresztül bemutatni, milyen lehetőségeink vannak a különböző korosztályok esetében a rendszerszintű gondolkodás fejlesztésére. Hogy az általános elveket alátámasszuk, konkrét tananyagpéldákat készítettünk és próbáltunk ki élesben nyolcadik, kilencedik évfolyamon, valamint egyetemi mesterképzésen. A teszteléseink a megvalósíthatóságot és a szükségességet bizonyították. Annak igazolása, hogy a módszertan tényleg hatékony még hátravan, hiszen nem áll rendelkezésre alkalmas mérési módszer.
A rendszerszintű gondolkodás fejlesztését előtérbe helyező tananyagoknak szükségük van némi alapvető előismeretre, amiből lehet általánosítani. A nagy előnyük viszont az, hogy amennyiben a diákoknak sikerül a rendszerszemléletet átadni, sokkal sikeresebben fognak új funkcionalitásokat, addig nem ismert eszközöket felhasználni (ahogyan például a Word feladatokat sikeresen megoldották azok oktatása nélkül), az új anyagot régebbiekkel összekötni, így egy teljesebb képet tudnak alkotni az informatika tudomány egészéről, a konkrét eszköz felhasználhatóságáról, előnyeiről és hátrányairól.
Köszönetnyilvánítás
A KULTURÁLIS ÉS INNOVÁCIÓS MINISZTÉRIUM ÚNKP-22-3 KÓDSZÁMÚ ÚJ NEMZETI KIVÁLÓSÁG PROGRAMJÁNAK A NEMZETI KUTATÁSI, FEJLESZTÉSI ÉS INNOVÁCIÓS ALAPBÓL FINANSZÍROZOTT SZAKMAI TÁMOGATÁSÁVAL KÉSZÜLT.
Irodalom
1.	L. Zsakó és P. Szlávi: Informatikai kompetenciák: Algoritmikus gondolkodás In InfoDidact 2010, Szombathely (2010). 
2.	R. D. Arnold and J. P. Wade: A Definition of Systems Thinking: A Systems Approach, Procedia Computer Science, (2015) 669-678 
3.	Kerettanterv az általános iskola 5–8. évfolyama számára
https://www.oktatas.hu/pub_bin/dload/kozoktatas/kerettanterv/Digitalis_kultura_F.docx (utoljára megtekintve: 2022.11.19)
4.	Kerettanterv a gimnáziumok 9–12. évfolyama számára
https://www.oktatas.hu/pub_bin/dload/kozoktatas/kerettanterv/Digitalis_kultura_K.docx  (utoljára megtekintve: 2022.11.19)
5.	M. Newman: A Pilot Systematic Review and Meta-Analysis on the Effectiveness of Problem-Based Learning (2003) 
6.	S. Korom and Z. Illés: Competence Improvements with IoT systems, Central-European Journal of New Technologies in Research, Education and Practice, vol. 3, no. 1, (2020)
7.	Központi írásbeli feladatsorok, javítási-értékelési útmutatók, Oktatási hivatal
https://www.oktatas.hu/kozneveles/erettsegi/feladatsorok (utoljára megtekintve: 2022.11.19)
8.	S. Korom és Z. Illés: Offline situational game for teaching IT systems, Central-European Journal of New Technologies in Research, Education and Practice, vol. 4, no. 1, (2022) 25-37 
9.	T. C. Bell, I. H. Witten, M. Fellows: Computer Science Unplugged . . . off-line activities and games for all ages (1998) 
10.	S. Korom: IOT Systems in Education, In Marek, Smid; René, Bílik; Veronika, Stoffová (eds) XXXII. Didmattech 2019, Trnava, Szlovákia : Trnava University in Trnava Faculty of Education, (2019)