Programozási nyelvek - Java

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. Ily módon ez a tárgy jól kiegészíti a Programozási technológia címűt.

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 hallgatóknak 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!

Tematika

Követelmények

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 elméletet feleletválasztós tesztekkel kérjük számon, a kérdések stílusukban megfelelnek az Oracle Java SE Programmer vizsgáiban találhatóknak.

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.

A tárgy teljesítésének előfeltételei

Számonkérés

Jegy

Ha valaki nem adja le időben valamelyik beadandót, vagy ha több, mint négyszer hiányzik akár az előadásról, akár a gyakorlatról, a jegyet megtagadjuk.

A tárgy kombinált számonkérésű, azaz egyetlen (gyakorlati) jegy zárja a tárgyat. Ezt a jegyet három jegy: a félévközi zh, a félév végi zh és az elméleti számonkérés jegyének átlagolásával számítjuk. 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.

Határidők, időpontok

Irodalom

Segédanyagok, szlájdok

Az alábbi segédanyagok nagymértékben átfednek a kurzus anyagával, de nem helyettesítik az órai jegyzeteket.