K-INFO
HU
EN
Login

Programming in Java

Java programozás
A tantárgyleírás hatályossága
Hatályosság kezdete:
—
Hatályosság vége:
—
Subject name (Hungarian, English)
Java programozás
Programming in Java
Subject code BMEVIAU9156
Subject type —
Training Level —
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 4 0 0
type (linked/independent) — — —
Assessment type vizsga
Credits 5
Subject coordinator
Dr. Gál Tibor
position: egyetemi docens
Responsible department
—
Faculty
Subject website —
Primary curriculum type —
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme

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.

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.

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

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

Tanulástámogató anyagok

Not provided.

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programozás alapjai I-II (Műszaki Informatika Szak) Programtervezés I-II (Villamosmérnöki Szak)
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programozás alapjai I-II (Műszaki Informatika Szak) Programtervezés I-II (Villamosmérnöki Szak)
General rules
Követelmények: a. A szorgalmi időszakban: nincs b. A vizsgaidőszakban: vizsga Elővizsga: utolsó héten Pótlási lehetőségek: A TVSZ. rendelkezései szerint.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses
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
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
—
Requirements valid until:
—
Curriculum placement

No curriculum placements recorded for this subject version.