Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Informatika oktatása / Az ismeretkörök részletezése /C. A programozás eszközei

Az ismeretkörök részletezése

C. A programozás eszközei

Alapelvként fogalmazhatjuk meg, hogy a programozás eszközeiből csak annyit és ott tanítsunk, amennyire és ahol szükség van az algoritmizálási és adatmodellezési ismeretek tanításához.

Az elsődleges célja tehát ezen ismeretkörnek az algoritmusok megvalósítása, kipróbálása, valós jelenségek modellezése.

Ezen ismeretkörön belül beszélni kell a programozási nyelvekről, az algoritmusleíró eszközökről (talán a specifikációs eszközökről is), valamint a megvalósításhoz szükséges fejlesztői környezetekről.

1-4. osztály (6-10 éves kor)

Itt az alapgondolat, hogy „én vagyok a végrehajtó”, azaz úgy fogalmazzunk meg algoritmusokat, hogy azt a tanuló maga is végrehajthassa – nem kizárva persze ezzel a számítógépes végrehajtás lehetőségét.

Ebben a korban algoritmusok leírására formális eszközt használni nem szabad! Még a matematika is szöveges leírást használ például az alapműveletek algoritmusainak leírásánál.

Meggondolandó az első nyelv szerepe (mint az anyanyelvé vagy az első idegen nyelvé), mert ennek egyszerűsége, sikeres elsajátíthatósága nagyban befolyásolhatja a későbbi tanulást. Ahogyan az Algoritmizálás témakörben leírtuk, ebben a korosztályban a látványosság lehet az egyik legjobb motiváló tényező, így a nyelv választását ez jelentősen befolyásolhatja (bár később, akár a felnőttek világában is nagy szerepe van a látványosságnak). Ugyancsak fontos, hogy az első nyelv egyértelműen magyar utasításokat használjon, a fejlesztői környezete is magyar nyelvű legyen!

Megjegyzés

Fontossági sorrend a magyar nyelv szempontjából: utasítások < menüpontok < hibaüzenetek < segítség (help).

A problémamegoldási világban itt egyértelműen javasolt a játékvilágból kinőtt robotok alkalmazása, programozása. Emiatt természetes, hogy az ilyen eszközök programozására használható egyszerű nyelvet válasszunk. Nem meglepő, hogy az ilyen nyelvek egy részében a programot grafikus elemekből építjük fel, ugyanúgy ahogyan a játékvilágban lego elemekből építhetünk különböző dolgokat.

Itt ugyanakkor érdemes lehet használni egy egyszerűsített Logo programozási nyelvet, amelynek mindenképpen magyar nyelvűnek kell lenni. A nyelv utasításait paraméter nélkül is lehessen használni, s az utasításokkal egyszerű, eljátszható tevékenységsorozatot lehessen leírni.

Megjegyzés

Ha ilyen nyelvünk nincs, akkor is megvalósíthatjuk Logo-ban egyszerű eljárások írásával.

Ilyen elképzelésre épít a Prattis által kitalált Karesz, a robot [PR].

A fenti két elképzelés nem mond ellent egymásnak, ez a kétféle típusú nyelv nagyon hasonló lehet egymáshoz.

Vissza a tartalomjegyzékhez

5-6. osztály (11-12 éves kor)

Itt a célkitűzés kicsit változik: a megalkotott algoritmusainkat a számítógépnek is mindenképpen végre kell tudni hajtani.

Az algoritmusok leírása ekkor már kicsit formálisabb lehet, különösen akkor, ha a számítógépet olyan programozási környezetben használják, mint például a Logo programozási nyelv. Ezzel ugyanis a korosztálynak megfelelő feladatok (rajzolás, játék a betűkkel, szavakkal) kevés nyelvi elem tanulásával könnyen megoldhatók, algoritmusaik helyességéről maguk győződhetnek meg, a hibás algoritmusok is látványosak, tanulságosak, s ezért érdekesek.

A Logo programozási nyelv magyar változata egyben algoritmusleíró eszközként is szolgálhat.

Az algoritmusokat ebben a korban már egyértelműen számítógépen kell megvalósítani, melynek eszköze a Logo programozási nyelv lehet.

Fontos kijelentenünk: bűn nem a Logo-val kezdeni a programozás oktatását.

Fontos, hogy olyan programozási nyelvet válasszunk, amely támogatja a programok alulról felfelé felépítését (bármely belső eljárás is lehessen végrehajtható főprogram), ezzel is megkönnyítve a programok kipróbálását. Az is hasznos, ha a fejlesztő környezet tesztelő eszközökkel is támogatja a programok kipróbálását, lépésenkénti végrehajtással, adatok kijelzésével.

Vissza a tartalomjegyzékhez

7-8. osztály (13-14 éves kor)

Alapvető gondolat lehet e korosztály számára az elgondolás (algoritmus) és a megvalósítás (program) szétválasztása.

Itt válhat el a kód és az algoritmus. Itt már elvárható egy algoritmusleíró eszköz használata, ezen eszközzel megírt algoritmusok megértése. Az algoritmus először egy terv legyen. A terv első lépéként egy koncepció, ahogyan a feladatot részekre bontjuk (például egy családi ház megrajzolásához meg kell rajzolni a földszintet és a tetőteret; mindkettő állhat elölnézeti és oldalnézeti részből, a földszint elölnézeti képén lehet ablak, az oldalnézetin ablak és ajtó, ...). Ezt a tervet első változatban nem feltétlenül szükséges a konkrét programozási nyelven leírni. A feladatok méretének növekedése során a megoldás egyre nagyobb része készülhet el így, azaz „megszülethet” az algoritmusleíró nyelv.

Legalább egy módon jól tudjanak leírni egy algoritmust, azonban kívánatos több algoritmus leíró eszköz ismerete (folyamatábra, mondatszerű leírás, pszeudo-kód). Fel kell ugyanis készülni arra, hogy a valós világban nagyon sok különböző módon leírt algoritmust kapunk (közlekedési szabályok, összeszerelési útmutatók, készülékek üzembe állítási szabályai), amit értelmeznünk és végrehajtanunk is kell.

Programozási nyelvi elemek annyian szerepeljenek, amennyien a tanulók érdeklődési köréhez illeszkedő feladatok megoldására szolgálnak! Nem szabad siettetni az absztrakció elmélyítésére szolgáló nyelvi eszközök alkalmazását!

A feladatok méretének növekedésével nagyobb szükség lehet a kipróbálást támogató eszközökre is. Ez elsőként valószínűleg egy lépésenkénti végrehajtást (és programállapot követést), később töréspontok elhelyezését támogató eszköz lehet.

Ebben a korosztályban jelenhet meg – bár nem mindenkinek kötelezően – a Logo mellett egy Neumann-elvű programozási nyelv. Az áttérés megkönnyítésére szolgálhat a Logo rendszerek egy érdekes lehetősége. A Logo végrehajtási koncepciója alapvetően automata-elvű (teknőcgrafika), illetve funkcionális (szövegfeldolgozás). Ezek egyikébe sem illik be a programozásban hagyományos változó, illetve értékadás fogalom. A Logo rendszerek azonban mégis rendelkeznek ilyennel. Ezek használatát alapvetően nem támogatnánk (sőt kifejezetten tiltanánk, mert az értékadás a programozás egyik legnehezebb fogalma), de az átmenetet a Neumann-elvű nyelvek felé egyértelműen megkönnyítik.

Vissza a tartalomjegyzékhez

9-10. osztály (15-16 éves kor)

Itt cél lehet a betekintés a szoftverfejlesztés világába; annak tudatosítása, hogy mit lehet és mit nem lehet programmal megvalósítani.

Hasznos lehet egy – a korábban használt Logo vagy Logo-szerű nyelvtől eltérő – programozási nyelv alapvető utasításainak ismerete (értékadás, beolvasás, kiírás, elágazás, ciklus – 6-10 utasítás). A nyelv kiválasztását elsősorban az befolyásolja, hogy minél kevesebb átalakítást kelljen végrehajtani a tanult algoritmusok megvalósításához! A programozási környezet alapvető elemeinek ismerete (forrásprogram betöltése lemezről, kivitele lemezre, a programszöveg beírása, javítása, fordítás, futtatás) tudatosabbá válhat.

Fontos a tájékozottság a programnyelvek körében, tudni kell arról, hogy a feladathoz kell választani a programozási környezetet, és a programnyelvet, és nem fordítva. (A nyelv választását más szempontok is befolyásolják: például a programíró mennyire ismeri és tudja alkalmazni a nyelvet, a programfejlesztés abban a környezetben milyen könnyű, mennyire biztonságos, ...)

Meg kell érteni, hogy a számítógépekkel különböző nyelveken kommunikálhatunk, amelyek közül ebben a korosztályban a programozási nyelvek a leggyakoribbak. A felhasználói kommunikáció összetettebbé válásával van értelme nyelvek (párbeszédek) szabályainak formális leírásával (azaz formális nyelvekkel) foglalkozni.

Az első programnyelv lehetőleg egy olyan Neumann-elvű programnyelv legyen, amely a lépésenkénti finomítást és a strukturált programozást (és egyben gondolkodást) teszi szükségessé. Ennek az is célja egyben, hogy jobban megértsük a számítógépek működését. Sajnos ilyen nyelvet jelenleg nem tudunk egyértelműen javasolni.

A jól megválasztott fejlesztői környezet (ebben a korosztályban már több is rendelkezésre állhat) könnyítheti az eszközzel való munkát, azaz az algoritmizálási ismeretek kipróbálását.

Az algoritmusok leírásának eszközei közül egynek alapos ismerete a cél, de azért nem okozhat nehézséget más egyszerű eszközökkel felírt rövid algoritmus megértése sem!

Vissza a tartalomjegyzékhez

11-12. osztály (17-18 éves kor)

Itt a cél – mivel ezt csak az informatikus szakmákra készülőknek szánjuk – a szakmai alapozás, illetve a kitekintés lehet a programozási eszközök sokféleségének világába.

Azokat a nyelvi, tervezési, kódolási, kipróbálási eszközöket kell ismerni, amelyek a fenti algoritmusok, illetve a kitűzött feladatok megvalósításához szükségesek. Egyetlen (Neumann-elvű) programozási nyelv részbeni (specialitások nélküli) ismerete szükséges, illetve néhány, ettől logikailag jelentősen eltérő (pl. logikai, függvényszerű, automataszerű, script) nyelv alapgondolatának ismerete. Azaz úgy gondoljuk, hogy ugyanabból a típusból kettő megismerni felesleges – ne tanítsunk Pascal után C++-t, C# után BASIC-et, ...

Fontos foglalkozni a specifikáció részeivel: bemenet, kimenet, előfeltevések a bemenetről, a kimenet és a bemenet összefüggése. Itt még természetesen nem matematikai, logikai formulákkal való leírásra gondolunk, hanem szöveges megfogalmazásra.

Érdemes lehet az ismert programozási nyelveket csoportosítani, felhívni a figyelmet arra, hogy nyelvet a feladathoz kell választani, s nem a feladat ismerete előtt.

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.

A tananyag az ELTESCORM keretrendszerrel készült