Informatika tanítási módszerek
Programozás tanítási módszerek módszeres, algoritmusorientált; adatorientált; specifikációorientált; feladattípus-orientált; nyelvorientált; utasításorientált; matematikaorientált; hardverorientált; mintapélda alapján. 2008.01.30. 2009.02.16. 2
Programozás tanítási módszerek A programkészítés lépései: feladat-meghatározás, specifikáció; algoritmus- és adatstruktúra tervezés, az algoritmus helyességének belátása; kódolás; tesztelés; hibakeresés, hibajavítás; hatékonyság-vizsgálat; dokumentálás. 2008.01.30. 2009.02.16. 3
Programozás tanítási módszerek Két fő tanítási módszer csoport létezik: 1. A programkészítés folyamata lépéseinek külön-külön tanítása. 2. Mindig teljes feladatmegoldás tanítása a specifikációtól a dokumentálásig és a használatba vételig. 2008.01.30. 2009.02.16. 4
1. Módszeres, algoritmusorientált Elsődleges programkészítési lépése: algoritmustervezés. Alapelv: Tervező = végrehajtó. Szisztematikus felépítés, programozási tételek (feladat és algoritmus). Programozási tételekre visszavezetés algoritmus szinten. Programozási tételek összeépítése algoritmus szinten. 2009.02.16. 5
1. Módszeres, algoritmusorientált Adatstruktúra tervezés algoritmusorientáltan. Kódolási szabályok algoritmus transzformációval. Tesztelés algoritmusra épített (ún. fehér doboz) módszerrel. Hatékonyabbra írás algoritmus transzformációval. (Koster, Hanák, Szlávi, Zsakó) 2008.01.30. 2009.02.16. 6
2. Adatorientált Elsődleges programkészítési lépése: adatstruktúra tervezés. Alapelv: az algoritmust meghatározza az adatstruktúra. direkt szorzat szekvencia; unió, alternatív adatstruktúrák elágazás; sokaság (halmaz, sorozat, hierarchikus és hálós szerkezetek) ciklus; rekurzívan definiált sokaság (adatrekurzió, vagy rekurzív típus) rekurzió. 2008.01.30. 2009.02.16. 7
2. Adatorientált Bemeneti és kimeneti formátumok. Adatfeldolgozási típusfeladatok. Struktúra megfeleltetés. Struktúra transzformáció. Közös elv: összetett adatstruktúra egyszerű algoritmus. (Jackson) 2008.01.30. 2009.02.16. 8
3. Specifikációorientált Elsődleges programkészítési lépése: specifikálás. Formális specifikáció. Algoritmus levezetése a specifikáció alapján. Az adatstruktúrák (típusok) is a specifikációból születnek. 2008.01.30. 2009.02.16. 9
3. Specifikációorientált Feladatok visszavezetése programozási tételekre. Automatikus kódolási szabályok. Tesztelés a specifikáció alapján (ún. fekete doboz módszerek). Hatékonyabbra írás a specifikáció transzformálása alapján. (Dijkstra, Fóthi) 2008.01.30. 2009.02.16. 10
4. Feladattípusorientált Alapelve: A teljes programmal foglalkozunk. Egymásra épülő példákat tartalmazó feladatsort kell megoldanunk. Az új programozási fogalmakat, elemeket azért vezetjük be, mert a konkrét feladatmegoldáshoz kellenek. Az új ismereteket azonnal alkalmazzuk. A megtanultakat folyamatosan használjuk. 2008.01.30. 2009.02.16. 11
4. Feladattípusorientált Feladattípusai: Hétköznapi algoritmusok Grafika Szövegfeldolgozás Matematika Valamilyen természettudomány Játék Kommunikáció (Koster, Papert, Szlávi, Zsakó) 2008.01.30. 2009.02.16. 12
5. Nyelvorientált Egy tipikus párbeszéd részlete: Te mit tanulsz programozásból? Pascalt. Ugyanez másképpen fogalmazva: Vannak Pascal -programozók, C - programozók, Alapelve: egy programozási nyelv elemein keresztül tanítja a programozást. 2008.01.30. 2009.02.16. 13
5. Nyelvorientált Problémái: Nyelvfüggő elemek a programozásban Nyelvi bonyolultság programozási bonyolultság Programozási fogalmak nem köthetők egyértelműen nyelvi fogalmakhoz nincs logikus helyük Programból felismerhető az első nyelv (Dusza) 2008.01.30. 2009.02.16. 14
6. Utasításorientált Alapelve: egy általános nyelvtípusra épít: értékadás, kifejezések; beolvasás, kiírás; elágazások (kétfelé, sokfelé); ciklusok (számlálós, feltételes elöl-, illetve hátultesztelő); eljárások; függvények, operátorok; modulok. 2008.01.30. 2009.02.16. 15
7. Matematikaorientált Alapelve: egy másik tantárgy (matematika) elképzeléseire épít. Problémái: a matematikai bonyolultság növekedése nem párhuzamos a programozási bonyolultság növekedésével a matematikai logikus sorrend nem biztos, hogy jó a programozásnak (Simonovits) 2008.01.30. 2009.02.16. 16
8. Hardverorientált Alapgondolata: algoritmikus ismeretek nem érthetőek programnyelvi ismeretek nélkül; a programnyelvi ismeretek nem érthetőek assembly ismeretek nélkül; az assembly ismeretek nem érthetőek a processzor működésének ismerete nélkül; a processzor működése nem érthető hardverismeretek nélkül; 2008.01.30. 2009.02.16. 17
8. Hardverorientált Tehát alapelve az alulról felfelé építkezés. Kizárja azt, hogy valamit használni tudnánk a működése teljes megértése nélkül. (Szűcs) 2008.01.30. 2009.02.16. 18
9. Mintapélda alapján Ebben a módszerben a tanulók mintapéldákat látnak (algoritmusok, programkódok), ezek magyarázatával szereznek programozási ismereteket. Az új feladatokra a megismert programok módosításával készíthetnek újabb programokat. Tehát: Programozás = kísérletezés. (Simonovits) 2008.01.30. 2009.02.16. 19
A módszerek értékelése algoritmusorientált; adatorientált; specifikációorientált; feladattípus-orientált; nyelvorientált; utasításorientált; matematikaorientált; hardverorientált; mintapélda alapján. 2008.01.30. 2009.02.16. 20
Programozási nyelvek tanítása Utasításorientált Segédeszközként alkalmazás Szoftvertechnológia-orientált Feladattípus-orientált Nyelvorientált Működésalapú Mintapélda alapján 2009.02.16. 21
Programozási nyelvek tanítása Utasításorientált A nyelvet utasítások halmazaként fogja fel, s a halmaz egyes elemeit tanítja valamilyen sorrendben. A nyelv megtanítása, mint a halmaz elemeinek megtanítása (ABC-sorrend). A nyelv elemek strukturálatlan egysége? A nyelv csupán lexikális ismeretek halmaza? 2009.02.16. 22
Programozási nyelvek tanítása Segédeszközként alkalmazás A programozás oktatás szempontjai az elsődlegesnek, s a szükséges mértékben vezeti be a nyelvi eszközöket. A programozási nyelv, mint a kódolási folyamat végeredménye. Garantált, hogy a megtanult nyelvi elemeket használni is fogjuk. Mindig csak amire szükség van. (Szlávi, Zsakó) 2009.02.16. 23
Programozási nyelvek tanítása Szoftvertechnológia-orientált Egy szoftverfejlesztési módszertanhoz, technológiához adaptált programozási nyelv tanítási módszer, ahol a módszertan indokolja a nyelv, sőt a nyelvek választását. Pl. objektumorientált programozás elképzelése és megvalósítása. (Porkoláb, Temesvári) 2009.02.16. 24
Programozási nyelvek tanítása Feladattípus-orientált A módszer a programozás tanítási módszereknél tárgyalttal azonos; úgy vezet be új programozási nyelvi ismereteket, hogy azokat a megoldandó feladatok tegyék szükségessé. Nélkülük a soron következő feladat nem oldható meg. (Mészárosné, Szlávi, Zsakó) 2009.02.16. 25
Programozási nyelvek tanítása Nyelvorientált A nyelvet strukturált egység-nek tekinti, a nyelv logikáját állítja elő-térbe, s a szükséges mértékben és sorrendben vezeti be a nyelv konkrét elemeit. Megvizsgálja a nyelvhez tartozó számítási modellt. Áttekinti a programok felépítésének fő vázát. 2009.02.16. 26
Programozási nyelvek tanítása Nyelvorientált A programozási nyelvben használt alapfogalmak megismerése. A nyelv egyes elemei (értékadás, beolvasás, kiírás, ). Programozási struktúrák megvalósítása. Utasítások szintaktikájának és szemantikájának megadása. (Horowitz, Papné, Szlávi, Zsakó) 2009.02.16. 27
Programozási nyelvek tanítása Működésalapú A nyelv utasításait úgy tanítja, hogy visszavezeti más nyelven való megvalósításra régebben assembly utasításokra, napjainkban inkább más magasszintű nyelvre. Új programozási nyelvi elemek szemantikája a jól ismert algoritmikus nyelv elemeivel. (Illés) 2009.02.16. 28
Programozási nyelvek tanítása Mintapélda alapján A módszer a nyelvet mintapéldák elemzésén keresztül mutatja be. Adottak a nyelvi elemek a példákban, ezek felépítése a nyelv elemeit követi. 2009.02.16. 29
Programozási nyelvek tanítása Az egyes módszerek értékelése Utasításorientált Segédeszközként alkalmazás Szoftvertechnológia-orientált Feladattípus-orientált Nyelvorientált Működésalapú Mintapélda alapján 2009.02.16. 30
Alkalmazás tanítás Problémaorientált Alkalmazásorientált Menüorientált Funkcióorientált Fogalomorientált Absztrakt eszköz orientált 2009.02.16. 31
Alkalmazás tanítás Problémaorientált Fokozatosan bővülő feladatsorokhoz választ alkalmazói eszközt, illetve bővíti a használandó eszközből használt fogalmakat, funkciókat. Alkalmazástípus ismerete, annak általános felépítése. Esztétikai ismeret. Gondolkodási, tervezési ismeret. Eszközismeret. 2009.02.16. 32
Alkalmazás tanítás Alkalmazásorientált Egy adott dokumentumtípus előállításához szükséges ismereteket tanítja, a dokumentumtípus felépítésének, bővítésének sorrendjében. Jellegzetesen megkülönbözteti egymástól a szöveg- és a kiadványszerkesztést, ugyanis más a kiinduló dokumentumtípus. 2009.02.16. 33
Alkalmazás tanítás Menüorientált Az alkalmazói ismereteket az alkalmazói programon keresztül tanítja, méghozzá annak menüpontjai szerint. Lexikális ismereteket, illetve rutinszerű használatot tanít. 2009.02.16. 34
Alkalmazás tanítás Funkcióorientált Meghatározza az alkalmazói rendszer általános funkcióit, pl. szövegszerkesztőnél: beírás, javítás, nyomtatás, formázás,...; majd a funkciókhoz kapcsolja a konkrét ismereteket. Elsődleges kérdése: Mit akarunk csinálni? Hasonlít a programozás tanítás algoritmusorientált módszerére. 2009.02.16. 35
Alkalmazás tanítás Fogalomorientált Meghatározza az alkalmazói rendszer által használt fogalmakat, pl. táblázatkezelőnél: cella, sor, oszlop, blokk, lap,...; majd az ezen fogalmakhoz kapcsolódó funkciókat tárgyalja. A fogalmak jó sorrendjének meghatározása. Hasonlít a programozás tanítás adatorientált módszerére. 2009.02.16. 36
Alkalmazás tanítás Absztrakt eszköz orientált Definiálja egyre bővülő absztrakt eszközök sorozatát, pl. szövegszerkesztőnél: hagyományos írógép, elektronikus írógép javítási funkcióval, elektronikus írógép sorformázási funkcióval,...; majd az egyes szintekhez szükséges ismereteket tárgyalja. A régi és az új eszköz közötti szintkülönbség. 2009.02.16. 37
Alkalmazás tanítás Az egyes módszerek értékelése Problémaorientált Alkalmazásorientált Menüorientált Funkcióorientált Fogalomorientált Absztrakt eszköz orientált 2009.02.16. 38
Zsakó László: Informatika Az informatika tanítási ismeretkörei módszerek 39