![Nyomtatóbarát változat Nyomtatóbarát változat](https://ttk.bme.hu/sites/all/modules/print/icons/print_icon.png)
Cél: A programozás elemeinek elsajátítása a Python nyelv megismerésén keresztül.
Tematika: Bevezetés a programozásba és a Python nyelvbe, adattípusok, kifejezések, kiírás, beolvasás. Vezérlési szerkezetek: if, while. Folyamatábra, struktogram, Jackson-ábrák. Összetett vezérlési szerkezetek. Alapvető algoritmusok (összegzés, kiválasztás, szélsőértékkeresés, eldöntés… sok gyakorlópélda). Listák. For ciklus. Újabb algoritmusok (rendezések, szétválogatás két listába,...). Kivételkezelés.
Absztrakciók: programrész absztrakciója, elnevezése, építőkőként használata = függvény. Függvényhívás menete, paraméter, loká lis változó fogalma, érték szerinti paraméterátadás.
Absztrakciók: összetett adattípus kialakítása egyszerű adattípusokból, pl. tört (számláló+nevező), komplex szám (valós+képzetes).
OOP alapfogalmai. Objektum, metódus. Fájlkezelés. Parancssori argumentumok. Rekurzió (zárt terület kifestése, labirintusépítés). A lgoritmusok hatékonysága, gyorsrendezés, lineáris keresés kontra bináris keresés, O(n). Adatszerkezetek: bináris fa (algoritmusai), hatékonyság: keresőfák, dekódoló fák (Morse fa). Matematikai programcsomagok. Modulok használata.