A tárgy az őszi és a tavaszi félévben is meghirdetésre kerül a Programtervező informatikus alapképzés A és B szakirányán tanuló hallgatók számára. Heti beosztás: 2 óra előadás, 2 óra gyakorlat, 1 óra konzultáció.
A tárgyat elvégző hallgatók mély ismeretekre tesznek szert a programozási nyelvek alapvető fogalmainak és a programnyelvi eszközöknek terén. A moduláris/procedurális imperatív programozási nyelvek fogalomrendszerét tanulmányozzuk, és két témakört kiemelten tárgyalunk: a generikus programozást, illetve a konkurens programozást. A fogalmak rendszerbe szervezett bemutatására és a nyelvi eszközök elsajátításához az Ada nyelvet használjuk, mely - kiváló állatorvosi lóként - minden számunkra érdekes fogalmat támogat. A tárgy elvégzése után a hallgatók képessé válnak arra, hogy Ada nyelven oldjanak meg programozási feladatokat, de az Ada nyelv szakértőivé nem válnak. A tárgy célja nem is az Ada nyelv megtanítása: ezt a nyelvet csak eszközként használjuk az általánosabb tudás megszerzéséhez.
Fontosnak tartjuk, hogy a hallgatók megértsék a nyelvi fogalmakat, és hogy a problémamegoldás során tudatosan használják a tanult nyelvi elemeket. Nem csak azt várjuk el, hogy a hallgatók meg tudjanak oldani programozási feladatokat, hanem azt is, hogy a megoldáshoz megfelelő módszereket, eszközöket használjanak, és az eredmény jó minőségű kód legyen. Elvárás még, hogy a kommentek használatával, a kódolási konvenciók betartásával, a megfelelő tördelés alkalmazásával a hallgató megtanulja növelni a kód olvashatóságát, karbantarthatóságát. Az Ada nyelv megközelítésmódjának elsajátításával a jó programozási stílus kialakulását is elősegíti a hallgatókban a kurzus.
Az előadásokon kötelező részt venni. A géptermi gyakorlatok a gyakorlatvezetővel segített önálló munkát tűzik ki célul. Emellett konzultációs lehetőséget is biztosítunk, minden gyakorlathoz heti egy óra terjedelemben. Felhívjuk minden hallgató figyelmét erre a lehetőségre, kérjük, éljenek vele!
Mind a rendszerezett elméleti tudást, mind a gyakorlati készségeket mérjük a tárgyból. Az előbbi szokott több problémát okozni, ezért is kötelező az előadásokon részt venni.
Az átlagos hallgatótól 150 munkaórányi (azaz 150 x 45 perc) befektetést várunk el (ez felel meg az 5 ECTS kreditnek, ami a tárgy elvégzéséért jár). Ezt a 150 munkaórát a következő bontásban javasolt a tanulási folyamatra fordítani.
https://bead.inf.elte.hu/
címen), illetve az IP-08aPNY2E kurzus 1. csoportja és az IP-08bPNY2EG kurzus 1. csoportja a megoldásokat a nas2.inf.elte.hu/zh/ada mappába kell tegye. A leadással késni NEM lehet. A beadandókat beérkezési sorrendben nézik át a gyakorlatvezetők, és visszajeleznek az esetleges hibákról.A félév közepén és végén zárthelyit írunk, mely elméleti kérdéssort és programozási feladatot tartalmaz majd. Az utóbbihoz segédanyagként az Ada Reference Manual használható. (Semmilyen egyéb segédanyag nem!) Az első zártelyi központi témája a generikus programegység, a másodiké pedig a konkurens programozás.
Ha valamelyik programozási feladat teljesítése sikertelen, a félév végén rendezett pótzh-n javítani kell. Akár két elégtelent is lehet a pótzh-n javítani, de ebben az esetben nem áll több idő rendelkezésre, mint azoknak, akik csak egy elégtelent kívánnak javítani. A pótzh-n szereplő feladatok az egész féléves anyagot számonkérhetik, még ha az első zh-t is javítja valaki. (Például a pótzh-n egy generikus programegység megvalósításához szükséges lehet dinamikus memóriakezelést használni.)
Az elméleti kérdéssort szintén lehet javítani a pótzh-n. Az utolsó javítási lehetőség egy még későbbi időpontban, az elméleti utóvizsgán lesz.
A tárgy kombinált számonkérésű, azaz egyetlen jegy zárja a tárgyat. Ezt a jegyet három (nem elégtelen) jegy átlagából határozzuk meg. Ez a három jegy - a félévközi zh programozási feladatának jegye, - a félév végi zh programozási feladatának jegye, valamint - az elméleti kérdéssorokra kapott jegy (a félév közepén és végén kitöltött kérdéssorok egybeszámíttatnak). Ha a három jegy közül a javítási kísérletek után is valamelyik elégtelen, a tárgyra kapott jegy is elégtelen.)
Nyékyné G. Judit (szerk.): Programozási nyelvek. Kiskapu Kft., Budapest, 2003.
Nyékyné G. Judit (szerk): Az Ada95 programozási nyelv. ELTE Eötvös Kiadó, Budapest, 1998.
Taft, S.T. és mások (szerk.): Ada Reference Manual. LNCS 8339, Springer, 2013. (pdf, zipped html, online )
Riehle, R.: Ada Distilled. AdaWorks, 2003. (pdf)
Az alábbi diasorok nagyrészt lefedik a félév során tárgyaltakat.
Az elmaradt előadás pótlására az alábbi videók szolgálnak
Az alábbi diasor összefoglalja az eddig tanultakat a kifejezések témakörében:
A gyakorlatokhoz kidolgozott feladatok itt találhatók.