Java programozás
A tantárgy angol neve: Programming in Java
Adatlap utolsó módosítása: 2006. július 1.
Tantárgy lejárati dátuma: 2009. november 24.
Villamosmérnöki Szak
Műszaki Informatika Szak
Választható tárgy
Név:
Beosztás:
Tanszék, Int.:
Dr.Gál Tibor
docens
Aut. és Alk. Inf.
Kovács Ferenc
tanársegéd
Programozás alapjai I-II (Műszaki Informatika Szak)
Programtervezés I-II (Villamosmérnöki Szak)
Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat:
VIHI9158 Rendszerfejlesztés Java környezetben
A tárgy végső célja, hogy a hallgatók alkalmassá váljanak a Java nyelvű önálló alkalmazások, valamint az elosztott rendszerek kliens- és szerver oldali programozására. Ennek keretében a hallgatók megismerkednek az objektumorientált programozási (OOP) paradigmával, a Java nyelv procedurális és OO szerkezetével, az alapvető osztályokkal és csomagokkal. Fontos szerepet kapnak a tárgyban a grafikus felhasználói interfészek, a hálózatkezelő-, elosztott- és adatbáziskezelő programok. Néhány elterjedten használt fejlesztési környezet bemutatásával a hallgatók betekintést nyernek a Java nyelvű programozási technológiákba, s ezek egyikének részletes ismertetésével lehetőségük nyílik az előadáson elhangzottaknak a szinkron begyakorlására.
Bevezetés
A Java nyelv és platform sajátosságai, szerepe és helye a többi nyelv és platform között.
A Java programozási környezet
A fejlesztő környezet letöltése, telepítése, fontosabb szolgáltatásai és használata. Egyszerű példa egy alkalmazás és egy applet megírására, fordítására és futtatására.
Alapvető programozási struktúrák a Java nyelvben
Adattípusok és változók. Értékadás és inicializálás. Operátorok és precedenciáik. Sztringek és hasznos metódusaik. Vezérlési szerkezetek. Felhasználó definiált függvények. Tömbök és használatuk.
Objektumok és osztályok
Bevezetés az OOP-be: fogalmak, objektumok és osztályok közötti viszonyok. Meglévő osztályok használata, saját osztályok készítése. Csomagok és hozzáférési jogok. Öröklés, absztrakt osztályok, interfészek, belső osztályok. Kivételkezelés.
A java.lang csomag fontosabb osztályai és metódusai
Becsomagoló osztályok, az Object, Class, Math, String és Thread osztályok, valamint ezek fontosabb tulajdonságai és metódusai.
A grafikus programozás alapjai
Ablakok, keretek és appletek. Alfanumerikus és grafikus információ megjelenítése egy ablakban. Szövegek, fontok, színek, alakzatok és képek rajzolása, kezelése.
Eseménykezelés
Az eseménykezelés alapjai, esemény hierarchia, szemantikus és alacsonyszintű események. Fókusz-, ablak-, billentyűzet-, egér- és menüesemények.
Felhasználói interfész komponensek és elrendezés menedzserek
A fontosabb felhasználói interfész elemek (nyomógomb, szövegmező, szövegterület, jelölőnégyzet, görgetősáv, festővászon) használata, a rajtuk fellépő események kezelése. A fontosabb elrendezés menedzserek (flow, border, card, grid és grid bag layout). Egymásba ágyazott elrendezés menedzserek.
2D grafika és a Swing osztályok
A Graphics2D fontosabb metódusai, alakzatok rajzolása, kitöltési stílusok, átlátszó rajzolás, vonaltípusok, transzformációk. Az AWT és a Swing közti eltérések. A JFrame, JLabel, JButton, JColorChooser komponensek. Belső keretek, táblázatok szálak.
Többszálú programozás
Szálak létrehozása a Thread osztály öröklésével és a Runnable interfész implementálásával. Szálak prioritása, együttműködés és szinkronizálás az isAlive, join, synchronized, wait, notify és notifyAll metódusok használatával. Deadlock, animáció.
Input-output
A Java I/O osztályai és interfészei. Byte stream, karakter stream és file osztályok, szerializáció.
Hálózati kommunikáció
IP címek, portok és protokollok kezelése. Az URL osztály és a http protokoll. Adatok olvasása egy URL-ről. Socketek. Kliens és szerver socketek létrehozása, írás és olvasás. A többszálú programozás használata a szerver socketekben. Az UDP alapú kommunikáció.
Elosztott rendszerek
A Java Remote Method Invocation (RMI) rendszere. Távoli interfészek, objektumok és szerverek. Az RMI fejlesztést és implementációt támogató eszközök: az rmic és az rmiregistry használata.
Adatbáziskezelés
A JDBC rendszer elemei. A szükséges driverek betöltése, csatlakozás az adatbázisra, sql utasítások elküldése az adatbázisba, a visszaadott értékek átvétele. Az RMI és az adatbáziskezelés együttes használata, három és többrétegű rendszerek.
Kitekintés
Vizuális fejlesztő eszközök. Java Beans, Enterprise Java Beans, biztonság, WEB szolgáltatások, stb.
(előadás, gyakorlat, laboratórium):
Előadás
a. A szorgalmi időszakban: nincs
b. A vizsgaidőszakban: vizsga
A TVSZ. rendelkezései szerint.
Az előadóval való megbeszélés alapján.
Dr.Gál Tibor: Java programozás. Egyetemi jegyzet, Műegyetemi Kiadó, 2002 (55060).
(a tantárgyhoz tartozó tanulmányi idő körülbelüli felosztása a tanórák, továbbá a házi feladatok és a zárthelyik között (a felkészülésre, ill. a kidolgozásra átlagosan fordítandó/elvárható idők félévi munkaórában, kredit x 30 óra, pl. 5 kredit esetén 150 óra)):
Kontakt óra
60
Félévközi készülés órákra
45
Felkészülés zárthelyire
-
Házi feladat elkészítése
Kijelölt írásos tananyag elsajátítása
..
Vizsgafelkészülés
Összesen
150