Programozási nyelvek - Java

(Switch to English)

A tárgy az őszi és a tavaszi félévben is meghirdetésre kerül. Heti beosztás:

Sillabusz

A tárgy célja programozási nyelvek általános fogalmainak, a nyelvi eszközök használatának megismertetése, elsősorban az imperatív objektumelvű programozási paradigmán belül mozogva. Illusztrációként a Java nyelvet használjuk. Tárgyaljuk az imperatív programozás eszközeit (típusok, változók, operátorok, kifejezések, utasítások, vezérlési szerkezetek, megjegyzések), a procedurális programozás eszközeit (alprogramok/metódusok, paraméterátadás, túlterhelés, végrehajtási verem, rekurzió), majd - legnagyobb hangsúllyal - az osztályalapú objektumelvű programozás eszközeit (osztály, objektum, tagok, példányosítás és inicializáció, öröklődés, altípusos polimorfizmus, felüldefiniálás és felüldeklarálás, statikus és dinamikus kötés, absztrakt típusok, objektumok összehasonlítása és másolása). A típusokkal kapcsolatban beszélünk a tömbökről, a felsorolási típusokról, valamint a sablon és paraméterezett típusokról, a generikus programozásról. A programszerkezet témakör vizsgálata kiterjed a hatókör/láthatóság kérdésére, az absztrakciós eszközökre, a névterekre (Java csomagokra), fordítási egységekre és a beágyazott típusdefiníciókra. Nagy figyelmet fordítunk a kivételek és a kivételkezelés témakörére is. Szó esik még a programvégrehajtásról is (például virtuális gép, osztálybetöltés, dinamikus szerkesztés). A gyakorlatokon megismerünk néhány programkönyvtárat is, mint például adatszerkezetek és input-output.

Fontosnak tartjuk, hogy a hallgatók megértsék a nyelv fogalmait, é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ás jó minőségű kód legyen, valamint, hogy kommentekkel, a kódolási konvenciók betartásával, megfelelő tördeléssel biztosítsa az olvashatóságot, karbantarthatóságot. A tárgy tehát alapvetően nem programozni tanít, hanem programozási nyelvekre, illetve a Java nyelv helyes használatára.

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. A félév során sem a gyakorlatokon, sem a géptermi zárthelyiken nem használunk integrált fejlesztői környezetet (pl. IntelliJ, Eclipse, Netbeans), csak programozói szövegszerkesztőket (pl. geany, notepad++, gedit, (g)vim, emacs) és parancssoros fordítást/futtatást. Ennek az az értelme, hogy így a hallgatók megértik az eszközök működési elvét, tudatos eszközhasználókká válnak, és a későbbiekben az IDE-eszközök konfigurálására is képesek lesznek. A gyakorlatokon ösztönözzük a hallgatókat, hogy többféle operációs rendszeren (Windows, Linux) elsajátítsák a programkód megírásának, lefordításának és futtatásának technikáját.

Programtervező informatikus és informatika tanár szakos hallgatóknak konzultációs lehetőséget is biztosítunk a fentiek szerint. Felhívjuk minden hallgató figyelmét erre a lehetőségre, kérjük, éljenek vele!

Tematika

Irodalom