Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Villamosmérnöki Szak

    Műszaki Informatika Szak

    Választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAU9156 7-9 4/0/0/v 5 1/1
    3. A tantárgyfelelős személy és tanszék Dr. Gál Tibor,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr.Gál Tibor

    docens

    Aut. és Alk. Inf.

    Kovács Ferenc

    tanársegéd

    Aut. és Alk. Inf.

    5. A tantárgy az alábbi témakörök ismeretére épít

    Programozás alapjai I-II (Műszaki Informatika Szak)

    Programtervezés I-II (Villamosmérnöki Szak)

    6. Előtanulmányi rend
    Ajánlott:

    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

    7. A tantárgy célkitűzése

    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.

    8. A tantárgy részletes tematikája

    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.

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    (előadás, gyakorlat, laboratórium):

    Előadás

    10. Követelmények

    a. A szorgalmi időszakban: nincs

    b. A vizsgaidőszakban: vizsga

    1. Elővizsga: utolsó héten
    11. Pótlási lehetőségek

    A TVSZ. rendelkezései szerint.

    12. Konzultációs lehetőségek

    Az előadóval való megbeszélés alapján.

    13. Jegyzet, tankönyv, felhasználható irodalom

    Dr.Gál Tibor: Java programozás. Egyetemi jegyzet, Műegyetemi Kiadó, 2002 (55060).

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    (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

    45

    Összesen

    150

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr.Gál Tibor

    docens

    Aut. és Alk. Inf.