Programozás
Kálmán László -- Oravecz Csaba
(2003. őszi félév)
1. Előfeltételek
A kurzus nem követel előzetes matematikai, számítástechnikai vagy egyéb
ismereteket, pusztán érdeklődést (és szorgalmat).
2. A kurzus célja
A kurzus során olyan ismereteket és készségeket szeretnénk átadni a
hallgatóknak, amelyeknek birtokában könnyűszerrel sajátíthatnak el bármilyen
modern programozási nyelvet. Nem kitűzött célunk azonban, hogy egy konkrét
nyelvet megtanítsunk, mert az nagyon időrabló lenne. Ezért csak illusztrációként
használunk konkrét programozási nyelvekből vett példákat. Célunk magának a
korszerű programozásnak mint tevékenységnek a megismertetése, beleértve a
fontosabb technikákat és módszereket.
Célunk továbbá, hogy néhány a számítógépes nyelvészetben gyakran használt
algoritmust (keresés, mintailleszés, unifikáció, szintaktikai elemzés stb.)
elmagyarázzunk és a gyakorlatban kollektív munkával megvalósítsunk.
3. A kurzus filozófiája
Az ember nem a gépnek programoz.
Előbb-utóbb minden programhoz hozzá kell nyúlni, ezért a világosság, az
olvashatóság fontosabb, mint a hatékonyság (és ezek egyébként se zárják ki
egymást).
A programozási nyelven nem sok
múlik.
A ma használt programozási nyelvek mindegyike alkalmas arra, hogy hatékony és
áttekinthető programokat írjunk. Csak a kellemes fejlesztőkörnyezet és a
hordozhatóság lehet szempont abban, hogy milyen nyelvet válasszunk.
A jó program elfér egy képernyőn.
A programokat olyan kis részekre kell lebontani, amelyek egészében
áttekinthetők. Persze az egymás közötti kapcsolatoknak is ugyanilyen
áttekinthetőnek kell lenniük.
4. Fő blokkok
A program fogalma; adatok és
algoritmusok; adattípusok; eljárások; modulok (namespace-ek).
Ciklusok, feltételes kifejezések;
gyakorlatok egyszerű (input/output) eljárásokkal.
Az objektumorientált programozás
alapfogalmai: osztályok és instanciák, öröklődés, hozzáférhetőség
(,,nyilvánosság'').
A programfejlesztés folyamata; absztrakció; gyakorlatok bonyolultabb programok tervezésével.
5. A számonkérés módjai
Ahhoz, hogy valaki jegyet szerezzen,
minden házi feladatot meg kell csinálnia és írásban be kell adnia.
Félév végén egy nagyobb feladatot
önállóan kell megoldani, a megoldásokat elbíráljuk.