BSc Matematika Alapszak
Tantárgyleírás
2013.

Programozási nyelv JAVA
Óraszám
ea/gy
Kredit
ea/gy
Számonkérés Szakirány Tárgykód
ea/gy
Ajánlott
félév
Státusz
2 + 2 2 + 3 összevont matematikus im1c1pn3m
im1c2pn3m
3 ajánlott
alk. mat. im1c1pn3a
im1c2pn3a
3 köt. vál
elemző im1c1pn3e
im1c2pn3e
3 köt. vál
Erős Gyenge előfeltételek
Gyakorlat
Erős:
Előadás
Erős:
Szükséges előismeretek
A programozás alapjai.
Irodalom
  • Nyékyné G. Judit (szerk) és mások: Java 2 útikalauz programozóknak 5.0 I-II. ELTE TTK Hallgatói Alapítvány, 2009.
Ajánlott:
Tematika
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. Illusztá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. A többszálú programozás és a folyamatok szinkronizációja szintén említésre kerül. 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, adatfolyamok, GUI készítés.