A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Java programozás
Programming in Java
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAU9156 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
Dr. Gál Tibor
position: egyetemi docens
contact:
gal.tibor@vik.bme.hu
|
||||||||||||
| 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
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.
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
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
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
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.