ALGORITMUSTERVEZÉS FELÜLNÉZETBŐL. Kátai Zoltán Sapientia Erdélyi Magyar Tudományegyetem, Marosvásárhely. Összefoglaló

Hasonló dokumentumok
Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése

Módszerek és eszközök az informatikaoktatás hatékonyságának növelésére

Általános algoritmustervezési módszerek

FELADATMEGOLDÁSI SZOKÁSAINAK VIZSGÁLATA. Baranyai Tünde

ACTA CAROLUS ROBERTUS

A TANTÁRGY ADATLAPJA

A DEBRECENI MÉRNÖK INFORMATIKUS KÉPZÉS TAPASZTALATAIRÓL. Kuki Attila Debreceni Egyetem, Informatikai Kar. Összefoglaló

BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ

Algoritmus vizualizáció a tanítási gyakorlatban. Törley Gábor

A TANTÁRGY ADATLAPJA

Tankönyvkiadók konferenciája Fizika

Publikációs jegyzék. Sitkuné Görömbei Cecília PKK, Tanítóképző Intézet

Melléklet. 1. sz. melléklet Sorszám: Tisztelt Tanárnő! Tisztelt Tanár Úr!

ANGOL MAGYAR PARBESZEDEK ES PDF

A TANTÁRGY ADATLAPJA

HALLGATÓI KÉRDŐÍV ÉS TESZT ÉRTÉKELÉSE

Publikációs jegyzék - List of Publications Sitkuné Görömbei Cecília

A TANTÁRGY ADATLAPJA

Beiskolázási tájékoztató

XVI. FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA

TÁVOKTATÁSI TANANYAGOK FEJLESZTÉSÉNEK MÓDSZERTANI KÉRDÉSEI

A TANTÁRGY ADATLAPJA

Természetismeret. 1. A természettudományos nevelés folyamatában történő kompetenciafejlesztés lehetőségei az alsó tagozaton.

SZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN

A PROBLÉMAMEGOLDÓ GONDOLKODÁS HELYE AZ ADATBÁZISKEZELÉS OKTATÁSÁBAN. Kupcsikné Fitus Ilona, Selmeci István SZÁMALK Zrt.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Informatikai tantervelmélet? (közoktatás)

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

Optimalizációs stratégiák 1.

TANTÁRGYI ADATLAP. 2.7 A tantárgy jellege DI

AZ ORSZÁGOS KOMPETENCIAMÉRÉS EREDMÉNYEI 2016/2017-ES TANÉV

TANTERV érvényes a as tanévtől kezdődően BABEŞ-BOLYAI TUDOMÁNYEGYETEM KOLOZSVÁR KÖZGAZDASÁG- ÉS GAZDÁLKODÁSTUDOMÁNYI KAR

Huzella Tivadar Általános Iskola. {mgmediabot2}path=images/video/idegennyelv.wmv width=352 height=288{/mgmediabot2}

INFORMATIKA OKTATÁS A KLTE-N 1

HELYZETELEMZÉS A TELEPHELYI KÉRDŐÍV KÉRDÉSEIRE ADOTT VÁLASZOK ALAPJÁN

Programozott tananyag Prolog alkalmazások készítéséhez

Kísérlettervezés a kémia tanításában a természettudományos gondolkodás fejlesztéséért

KÁTAI ZOLTÁN ALGORITMUSOK FELÜLNÉZETBŽL

A TANTÁRGY ADATLAPJA

TANTÁRGYI ADATLAP. Mechatronika/Mechatronikus mérnök Végzettség

Az oktatás stratégiái

NYELVTANULÁS A VILÁGON SPANYOL MAGYARORSZÁG

2.1. Az oktatási folyamat tervezésének rendszerszemléletű modellje.

Kinizsi Pál Gimnázium és Szakközépiskola FELVÉTELI TÁJÉKOZTATÓ. a 2010/11-es tanévre

Bevezető, követelmények, tanmenet I. A didaktika fogalma, tárgya, alapfogalmai, kapcsolata más tudományokkal II.

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

A TANTÁRGY ADATLAPJA

A nappali tagozatra felvett gépészmérnök és műszaki menedzser hallgatók informatikai ismeretének elemzése a Budapesti Műszaki Főiskolán

MTA TANTÁRGY-PEDAGÓGIAI KUTATÁSI PROGRAM

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA

Acta Acad. Paed. Agriensis, Sectio Mathematicae 29 (2002) PARTÍCIÓK PÁRATLAN SZÁMOKKAL. Orosz Gyuláné (Eger, Hungary)

1. Katona János publikációs jegyzéke

DEBRECENI EGYETEM NEVELÉS-ÉS MŰVELŐDÉSTUDOMÁNYI INTÉZET

A TANTÁRGY ADATLAPJA

II. Idegen nyelvek m veltségi terület. 1. Angol nyelv és kultúra tanára (általános iskolai)

Algoritmizálás, adatmodellezés tanítása 7. előadás

Az MTA-Rényi Felfedeztető Matematikatanítási

Optimalizációs stratégiák 2.

A TANTÁRGY ADATLAPJA

List of Publications (Pánovics János)

TERMÉSZETISMERET 5. ÉVFOLYAM

AZ ELSŐÉVES HALLGATÓK INFORMATIKA TANULÁSI SZOKÁSAINAK VIZSGÁLATA ADATBÁNYÁSZATI ESZKÖZÖKKEL A BUDAPESTI MŰSZAKI FŐISKOLÁN

Izlandi tanulmányút. Beszámoló

Felvételi tájékoztató

OTKA ZÁRÓJELENTÉS Józsa Krisztián Kritériumorientált képességfejlesztés

Fővárosi Diákönkormányzati. A Diákakadémia célja. A tanulási folyamat

Informatika a felsőoktatásban 2008 Debrecen, augusztus JAVA PROGRAMOZÁSI NYELV OKTATÁSA C# ALAPOKON

KÜLÖNÖS KÖZZÉTÉTELI LISTA ÁLTALÁNOS ISKOLA PERESZTEG

A tanulás fejlesztésének tanulása Tanulási program

Bókay János Humán Szakközépiskola

9-12 évfolyam ismertető

Félidőben félsiker Részleges eredmények a kutatásalapú kémiatanulás terén

IV. AZ ISKOLAI BESZÁMOLTATÁS, AZ ISMERETEK SZÁMONKÉRÉSÉNEK KÖVETELMÉNYEI ÉS FORMÁI

Publikációs jegyzék (Pánovics János)

informatika segítségével

A 2012-es kompetenciamérés elemzése a FIT-jelentés alapján

Algoritmusok és adatszerkezetek II.

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Elemi algoritmusok ismerete

2 Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma, 4029 Debrecen, Csengı u. 4.

A TERMÉSZETTUDOMÁNYI TUDÁS ONLINE DIAGNOSZTIKUS ÉRTÉKELÉSÉNEK TARTALMI KERETEI

UNIX ALAPÚ RENDSZEREK HASZNÁLATÁNAK OKTATÁSA A MŰSZAKI INFORMATIKUS KÉPZÉSBEN

Takács Katalin - Elvárások két értékelési területen. Az értékelés alapját képező általános elvárások. Az értékelés konkrét intézményi elvárásai

Iskolai jelentés. 10. évfolyam szövegértés

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

A FEJLESZTÉS PEDAGÓGUSOKRA ÉS DIÁKOKRA GYAKOROLT HATÁSAI

AZ INFORMATIKA OKTATÁSÁNAK MÚLTJA ÉS JELENE A KOLOZSVÁRI EGYETEMEN

Módszerek és eszközök az informatikaoktatás hatékonyságának növelésére

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA

Új alapokon az egészségügyi informatika

A TANTÁRGY ADATLAPJA

ISKOLAI HÍRMONDÓ 2018/2019 es tanév. LÁZÁR ERVIN ÁLTALÁNOS ISKOLA Erzsébet utca 31.

módszertan 1. Folyamatosság - Kockák 2. Konzultáció 2 Konzulens, szakértők 4. Bibliográfia - Jegyzetek

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

A nem szakrendszerű oktatás bevezetése és gyakorlata a büki Felsőbüki Nagy Pál Általános Iskola és Vendéglátóipari Szakiskolában

Az egyes évfolyamokon tanított tárgyak, kötelező és választható tanórai foglalkozások, ezek óraszámai, az előírt tananyag és követelmények

A TANTÁRGY ADATLAPJA

KÜLSÕ CÉGEK TÁMOGATÁSÁVAL MEGVALÓSÍTOTT, 4GL ÉS CASE ESZKÖZÖKRE ALAPOZOTT KÉPZÉS A SZÉCHENYI ISTVÁN FÕISKOLÁN

Átírás:

ALGORITMUSTERVEZÉS FELÜLNÉZETBŐL UPPERVIEW ALGORITHM DESIGN Kátai Zoltán Sapientia Erdélyi Magyar Tudományegyetem, Marosvásárhely Összefoglaló Tanítani szinte nem is jelent mást, mint megmutatni, miben különböznek egymástól a dolgok a különböző céljukat, megjelenési formájukat, és eredetüket illetően.... Ezért aki jól megkülönbözteti egymástól a dolgokat, az jól is tanít. A bemutatott didaktikai módszer elsősorban e comeniusi alapelvre épül. Egy olyan tanítási, illetve tanulási módszerről van szó, amely segít a tanulóknak, úgymond felülnézetből látni öt alapvető algoritmustervezési stratégiát (visszalépéses keresés, oszd meg és uralkodj, mohó, dinamikus programozás, elágazás korláttal). A módszer célja az, hogy e programozási technikák bemutatásán túl, olyan nézőpontba juttassuk a tanulót, amelyből feltárulnak előtte a technikák közötti elvi, alapvető, sőt árnyalatbeli különbségek, illetve hasonlóságok. A fentebb idézett comeniusi alapelvvel összhangban ez nélkülözhetetlen, ha uralni szeretnénk a programozás e területét. Kulcsszavak Tanítási módszerek, algoritmustervezési stratégiák Abstract To teach means scarcely anything more than to show how things differ from one another in their different purposes, forms, and origins.... Therefore, he who differentiates well teaches well. In this chapter we are going to present a teaching learning method and suggest a syllabus that help the students look at the algorithm design strategies from a so called upperview : greedy, backtracking, divide and conquer, dynamic programming, branch and bound. The goal of the suggested syllabus is, beyond the presentation of the techniques, to offer the students a view that reveals them the basic and even the slight differences and similarities between the strategies. In consensus with the Comenius principle this is essential, if we want to master this field of programming. Keywords Teaching methods, algorithm design strategies 1

BevezetésA dolgozat egy olyan módszert mutat be, amelyet az informatikaoktatás egy sajátos területe, az algoritmustervezési stratégiák oktatásához dolgoztunk ki. A módszernek az Algoritmustervezés felülnézetből nevet adtuk. A Sapientia Egyetemen egy hasonló elnevezésű tantárgyat tanítunk az első év második félévben. A módszer alkalmazásához szükséges tartalom biztosítása érdekébe ugyanezzel a címmel kiadtunk egy egyetemi jegyzetet. (Kátai, 2007) A diákközpontú tanítás alapelvével összhangban a 2006/2007-es tanévvel kezdődően az első éves hallgatók kezdő és haladó csoportokra osztva külön tanulják a Programozás I-II tantárgyakat (Programozás C nyelven, Algoritmusok felülnézetből). Tanítani szinte nem is jelent mást, mint megmutatni, miben különböznek egymástól a dolgok a különböző céljukat, megjelenési formájukat, és eredetüket illetően.... Ezért aki jól megkülönbözteti egymástól a dolgokat, az jól is tanít. (Comenius, 1653) A bemutatott didaktikai módszer elsősorban erre az alapelvre épül. Egy olyan tanítási, illetve tanulási módszerről van szó, amely segít a tanulóknak, úgymond felülnézetből látni öt alapvető algoritmustervezési stratégiát (visszalépéses keresés, oszd meg és uralkodj, mohó, dinamikus programozás, elágazás korláttal). A módszer célja az, hogy e programozási technikák bemutatásán túl, olyan nézőpontba juttassuk a tanulót, amelyből feltárulnak előtte a technikák közötti elvi, alapvető, sőt árnyalatbeli különbségek, illetve hasonlóságok. A fentebb idézett comeniusi alapelvvel összhangban ez nélkülözhetetlen, ha uralni szeretnénk a programozás e területét. A szakirodalomban számos példát találunk a programozási technikák összehasonlítására. Például Cormen, Leiserson és Rivest például a (1990) referenciamunkájukban összehasonlítják a dinamikus programozás és mohó stratégiákat. Más kiadványok (Odagescu et al., 1994) azt tárgyalják, hogy miként egészíthetik ki egymást a visszalépéses keresés és mohó technikák. Razvan Andone és Ilie Garbacea a dinamikus programozás és az oszd meg és uralkodj stratégiákról közöl összehasonlító elemzést (1995). Másik alkalmazott módszer a technikák párhuzamos bemutatására, hogy ugyanazon feladatokat különböző technikákkal oldják meg (www, 2004). Ezt a gondolatot vittük tovább, kidolgozva egy olyan módszert, amely lehetővé teszi mind az öt technika módszeres, párhuzamos vizsgálatát (Kátai, 2005, 2007). Célunk olyan felülnézet kialakítása a tanulók fejében, amelyből egyidejűleg láthatják a bemutatott stratégiákat. A módszer másik erőssége, hogy látva a teljes képet, a tanulók képesek lesznek felismerni az egyes technikák egymáshoz való viszonyát, és így a nehezebb stratégiák is elérhetőbbé vállnak számukra. Felülnézet alatt ebben a dolgozatban azt értjük, hogy: 1) Egymás mellett látjuk a vizsgálat tárgyát képező entitásokat. 2) Csak az látszik, ami a vizsgálat szempontjából lényeges. 3) Nyilvánvalóak a hasonlóságok és a különbségek, szembetűnők a kapcsolatok. A felülnézet kialakításához szükséges egy úgynevezett absztrakt platform, amelyen az elemzett entitások úgy helyezhetők egymás mellé, hogy szembetűnővé váljanak a vizsgálat szempontjából lényeges tulajdonságok és kapcsolatok. A visszalépéses keresés és az oszd meg és uralkodj technikák általában rekurzívan közelítik meg a feladatot: A feladatot visszavezetik hasonló, egyszerűbb részfeladatokra, majd ezeket további hasonló, még egyszerűbb részfeladatokra, egészen addig, míg triviális részfeladatokhoz nem jutnak. Ez a fajta lebontás azt feltételezi, hogy a feladat felépítésében fastruktúrájú legyen. A mohó, a dinamikus programozás és az elágazás korláttal technikák 2

egyik közös vonása, hogy általában olyan feladatok esetében alkalmazzuk őket, amelyek döntéssorozatként foghatók fel. Ez ismét egy fastruktúrához, egy döntési fához vezet. Tehát az összes tárgyalásra kerülő módszert elsősorban olyan feladatok esetében használjuk, amelyek valamilyen értelemben fastruktúrával rendelkeznek. A technikák szempontjából ez azt jelenti, hogy mindegyik úgy tekinti a feladatot, mint egy fát. Ez a fastruktúra az az absztrakt platform, amelyen a technikák egymás mellé helyezhetők, és amely a felülnézet kialakításához szükséges. A 2005/2006-os tanévtől a Sapientia Erdélyi Magyar Tudományegyetem marosvásárhelyi karán az alábbi tanterv szerint történik az algoritmustervezési stratégiák oktatása egy teljes féléven (14 hét) keresztül: 4) A rekurzió átismétlése, a fastruktúrák és azok bejárásainak bemutatása. 5) Egy feladaton keresztül, amely mindegyik technikával megoldható, általános és átfogó képet nyújtunk a technikákról (1. hét). 6) Bemutatjuk a visszalépéses keresés technikát (2.-3. hét). 7) Bemutatjuk az oszd meg és uralkodj technikát (4. hét). 8) Oszd meg és uralkodj vagy visszalépéses keresés (5. hét). 9) Bemutatjuk a mohó algoritmust (6. hét). 10) Visszalépéses keresés és mohó algoritmus (7. hét). 11) Bemutatjuk a dinamikus programozás módszerét (8.-10. hét). 12) Oszd meg és uralkodj vagy dinamikus programozás (11. hét). 13) Mohó módszer vagy dinamikus programozás (11. hét). 14) Beágyazzuk az elágazás korláttal technikát az előbbi módszerek alkotta képbe (12.-13. hét). 15) Határesetek a programozási technikák világában (14. hét). Az egyes technikákat bemutató órákon hangsúlyozni kell, mit jelent az illető stratégia szempontjából fastruktúraként felfogni egy feladatot. A felülnézet órákra (dőlt betűvel jeleztük a tanmenet e leckéit) olyan feladatokat választunk, amelyek megoldhatók mindkét összehasonlítandó módszerrel. Ezek azok az órák, amelyeken kihangsúlyozzuk a stratégiák közti hasonlóságokat, különbségeket és kapcsolatokat. Az utolsó fejezet olyan algoritmusokkal foglalkozik, amelyekben két vagy több technika jellegzetes vonásai keverednek. A felülnézet módszer és a dinamikus programozása dinamikus programozás az egyik leghatékonyabb programozási technika, csakhogy a legelmélyültebb gondolkodást feltételezi. A nehézség többek között a dinamikus programozási feladatok sokszínűségében áll. A diáknak nagyon mélyen át kell látnia a dinamikus programozás alapelveit, hogy a legkülönbözőbb helyzetekben alkalmazni tudja. A felülnézet módszer egy másik erőssége, hogy kiterjeszthető a dinamikus programozási feladatok területére, lehetővé téve ezek egyfajta osztályozását (Kátai, 2006). Ugyanazt az absztrakt platformot használjuk, a feladatok mögött lévő döntési fát, és a feladatokat e döntési fa különböző típusai szerint osztályozzuk. Minden egyes feladatosztályhoz a dinamikus programozásnak mint algoritmustervezési stratégiának egy sajátos változata rendelhető. Az adott feladatnak a megfelelő osztályba sorolása után már sokkal elérhetőbb a technika valamelyik (az illető feladatosztályt megoldó) sajátos változatának alkalmazása. A felülnézet módszer kivetítése a dinamikus programozás területére azzal az előnnyel is jár, hogy árnyaltabbá teszi a dinamikus programozás és a mohó 3

algoritmus, illetve az oszd meg és uralkodj technika közti különbségeket, hasonlóságokat és kapcsolatokat.kísérleti felmérés Egy kísérletet végeztünk, amellyel lemértük, hogyan járul hozzá a felülnézet módszer és a javasolt tanmenet az algoritmustervezési stratégiák hatékony tanításához-tanulásához középiskoléban. A kísérletet a marosvásárhelyi Bolyai Farkas Elméleti Líceumban végeztük el a 2003/2004-es tanévben. Ebben az iskolában minden évfolyamon (IX.-XII.) három párhuzamosan működő informatika tagozatos osztály létezik. A hivatalos tananyag X. osztályban írja elő a technikák tanítását. A kísérletbe mindhárom osztályt bevontuk: X.g, X.h, X.i. A h és i osztályokat ugyanaz a tanárnő, a g osztályt pedig egy másik tanárnő tanította. A g és i osztályokat választottuk kísérleti csoportnak, a h osztályt pedig kontrollcsoportnak. A kísérleti csoportokban a tanárnők felülnézet módszerrel, a javasolt tanmenet szerint oktattak, a kontrollosztályban pedig a klasszikus módon (a technikákat különálló egységekként kezelték). A kísérlet nyomán mindkét kísérleti osztályban az átlagok (az 1-10 skálán) körülbelül másfél jeggyel magasabbak lettek, ami szignifikáns különbséget jelent. A módszer kimagasló eredményekhez vezetett a tehetséggondozásban is. A 2002/2003-as tanévben az informatikai olimpia megyei szakaszán X. osztályban az első, a második, illetve a harmadik helyezett is abból az osztályból került ki, amelyben először alkalmazták a bemutatott módszert a programozási technikák oktatásában. 1. Következtetések A felülnézet módszer a gondolkodási műveletek széles skáláját mozgósítja, ami elméleti magyarázattal szolgál a hatékonysága mellett. Jelentősen hozzájárul továbbá a diákok általános problémamegoldó gondolkodásának javulásához (Markóczi, Máthé, 2002). Mivel a különböző fogalmakat egymáshoz kapcsoltan mutatja be, ezért tartósabb mentális reprezentációt eredményez. Ez összhangban van azzal, ahogy a modern tudomány az emberi memóriát látja (Russel, 1979). A tanmenet végére a diákok fejében az algoritmustervezési stratégiákról kialakult kép nemcsak átfogó, tiszta és mély lesz, hanem egyben tartósan eltárolt is. Irodalomjegyzék [1] R. Andone, I Garbacea, Algoritmi fundamentali. O perspectivă C++, Libris, Cluj- Napoca, 1995, 185-187, 219-221. [2] Comenius, Orbis sensualium pictus, 1653 [3] T. H. Cormen, C. E. Leirserson, R. L. Rives, Introduction to Algorithms, by The Massachusetts Institute of Technology, 1990, 266-270, 287-289. [4] Kátai Z., Upperview algorithm design in teaching computer science in high schools, Teaching Mathematics and Computer Science, 3 (2005) 2 [5] Kátai Z., Algoritmustervezés felülnézetből, Sapientia Kiadó, Kolozsvár, 2006 [6] Kátai Z., Dynamic programming strategies on the decision tree hidden behind the optimizing problems, Informatics in Education, Institute of Mathematics and Informatics, Lithuania, 2006 (elfogadva) 4

[7] I. Odagescu, C. Copos, D. Luca, F. Furtuna, I. Smeureanu, Metode şi tehnici de programare, Intact, Bucuresti, 1994, 95-108. [8] Revákné Markóczi I., Máthé J., A természettudományos problémamegoldó gondolkodás fejlesztése a középiskolában, Új Pedagógiai Szemle, 2002/10 [9] P. Russel, The Brain Bokk, Dutton, New York, 1979http://www.cis.upenn.edu/~matuszek/cit594-2004/Lectures/44-dynamicprogramming.ppt 5