Digitális kultúra · 9. osztály · NAT 2020
Algoritmizálás és programozási nyelv
A témakör a probléma megértésétől és algoritmikus felbontásától vezet el a szöveges programozási nyelven megírt, tesztelt és javított programig. A hangsúly a problémamegoldáson, a vezérlési szerkezeteken, az adatok kezelésén és az önálló programkészítésen van.

Mit dolgoz fel a témakör?
A tanulók egyszerű problémákat bontanak kisebb lépésekre, algoritmust készítenek, majd egy szöveges programozási nyelven valósítják meg a megoldást. A programokat adatbevitellel, változókkal, elágazásokkal, ciklusokkal, eljárásokkal, függvényekkel és összetettebb adatokkal egészítik ki, végül tesztelik és javítják őket.
Javasolt tanulási útvonal
Nyolc lépésben a problémától a saját programig
A sorrend tanulási útvonal. Az első hét fejezet a programozási gondolkodást építi fel, és ezek részletes anyagaiban ugyanazokat a mintafeladatokat Pythonban, C++-ban és C#-ban is meg lehet majd nézni. Így jól látható, mi a közös algoritmus, és mi változik csak a programozási nyelv szintaxisában.

Problémafelbontás és algoritmusleírás
A feladat értelmezése, részfeladatokra bontása, lépéssor készítése, algoritmus leírása és folyamatábrás szemléltetése.

Változók, adattípusok és műveletek
Adatok tárolása és módosítása, alapvető adattípusok, értékadás, aritmetikai és logikai műveletek.

Adatbevitel és eredményközlés
A program adatokat kér a felhasználótól, feldolgozza őket, majd értelmezhető eredményt jelenít meg.

Elágazások és ciklusok
Feltételek alapján eltérő műveletek végrehajtása, valamint ismétlődő lépések megfogalmazása és programozása.

Eljárások és függvények
A program kisebb, jól elkülöníthető részekre bontása, paraméterek használata és újrahasználható programrészek készítése.

Listák és szövegek feldolgozása
Több összetartozó adat kezelése, elemek bejárása, keresése és módosítása, valamint egyszerű szövegfeldolgozási műveletek.

Tesztelés és hibakeresés
Tesztadatok választása, hibás működés felismerése, a hiba helyének megkeresése és a program javítása.
Önálló programozási projekt
A témakör végén érdemes egy kisebb saját programban összekapcsolni a tervezést, az adatkezelést, a vezérlési szerkezeteket, a programrészeket és a tesztelést.
Kerettantervi kapcsolódás
NAT 2020, Digitális kultúra kerettanterv, 9–12. évfolyam: Algoritmizálás, formális programozási nyelv használata, 13 óra a 9. évfolyamon. A 10. évfolyam további 12 órában folytatja, a 11. évfolyam 20 órában zárja le.
- 9. évfolyam: adattípusok, változók, beolvasás és kiírás, elágazás, ciklus, sorozatok, típusalgoritmusok, tesztelés.
- Az eljárások és függvények (5. lépés) a kerettanterv szerint hangsúlyosan a 10. évfolyam anyaga, itt kitekintésként szerepelnek.
Milyen programozási nyelven?
Az itt bemutatott tanulási útvonal a programozási gondolkodásra épül. A konkrét megoldásokat mindig azon a nyelven érdemes követni, amelyet az adott osztály használ. A részletes fejezetekben ugyanaz a feladat több nyelven is megjelenhet, hogy könnyebb legyen összehasonlítani a Python, a C++ és a C# megoldásait.
Programozási nyelvek
Kapcsolódó tanulási utak
A 9. osztályos témakörhöz több programozási nyelven is kapcsolódhat gyakorlás. A fogalmakat érdemes egy választott nyelven következetesen végigvinni.
Python
Egyszerű szintaxisú, jól olvasható szöveges programozási nyelv. A meglévő 9. osztályos kapcsolódó leckék között már több Python-anyag is elérhető.
Python tanulási út →C++
A programozási alapok C++ nyelven is végiggyakorolhatók, a programváztól a vezérlési szerkezetekig és az adatsorok kezeléséig.
C++ tanulási út →C#
A C# tanfolyam a fejlesztőkörnyezet beállításától indul, majd fokozatosan halad a konzolos programozás és később az objektumorientált alapok felé.
C# programozás kezdőknek →További leckék és óravázlatok
Kapcsolódó anyagok a témakörhöz
Itt a programozási nyelvtől független algoritmikus alapanyagokat gyűjtjük. A Python-, C++- és C#-specifikus példák később a hozzájuk tartozó részletes fejezetekben jelennek meg, így ez az oldal akkor is áttekinthető marad, amikor a tanfolyamok tovább bővülnek.
Problémából algoritmus
- Probléma, algoritmus és program9–10. osztály · kiegészítő lecke
