BIN452: Fortgeschrittene Java-Programmierung
Wahlpflicht-Module
BIN452: Fortgeschrittene Java-Programmierung
Prof. Dr. Thomas Nitsche
Prof. Dr. Thomas Nitsche
Bachelor Informatik
Informatik
Deutsch
jährlich
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 2 Ü | - P | - S
Advanced Java Programming
- BIN201: Weiterführende Programmentwicklung: objektorientierte Programmierung, Tests, Softwareentwurf.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, fortgeschrittene objektorientierte Java-Programme, persistente Datenbankanbindungen und verteilte mehrschichtige Unternehmensanwendungen zu erläutern, zu analysieren, zu bewerten und praktisch umzusetzen.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- allgemeine Entwurfs- und Implementierungsansätze objektorientierter Programme mit Java anwenden,
- Eigenschaften objektorientierter Typsysteme wie Subtyping, Generics und Typsicherheit analysieren,
- Persistenzlösungen mit JDBC und JPA erläutern, auswählen, entwickeln und bewerten,
- Probleme beim objektrelationalen Mapping erläutern und Lösungsansätze anwenden,
- Konzepte von Jakarta EE für komplexe, verteilte Unternehmensanwendungen einordnen,
- komplexe, heterogene und plattformübergreifende mehrschichtige Anwendungen mit Java-basiertem Backend entwickeln,
- moderne Entwicklungswerkzeuge sowie Test-, Persistenz- und Framework-Technologien anwenden,
- Entwurfsentscheidungen analysieren, Implementierungen testen und die Qualität ihrer Lösungen bewerten.
WOZU
Die Studierenden nutzen diese Kompetenzen, um robuste, wartbare und datenbankgestützte Java-Unternehmensanwendungen zu entwerfen, zu implementieren und weiterzuentwickeln. Sie können fortgeschrittene Konzepte der Softwareentwicklung zielgerichtet einsetzen und sich sicher in professionelle Java-Softwareprojekte einarbeiten.
- Virtuelle Maschinen und plattformunabhängige Programmierung
- Nebenläufigkeit, Threads und Serialisierung
- Reflection, Annotationen und dynamische Laufzeitinformationen
- Objektorientierte Typsysteme, Subtyping, Liskovsches Substitutionsprinzip, Varianz und Generics
- Testen mit JUnit, Build-Prozesse mit Maven oder Gradle, Logging und Javadoc
- Datenbankanbindung mit JDBC
- Persistenz mit JPA
- Objektrelationales Mapping
- Jakarta EE, Anwendungsserver, Servlets, Enterprise Beans, Transaktionen und Contexts and Dependency Injection
- Entwicklung komplexer verteilter Anwendungen mit unterschiedlichen Client-Technologien und Java-basiertem Backend
Bearbeitung ausgewählter Übungsaufgaben.
Mündliche Prüfung.
- Christian Ullenboom: Java ist auch eine Insel. Rheinwerk Computing, aktuelle Auflage.
- Alexander Salvanos: Professionell entwickeln mit Java EE 8. Rheinwerk Computing, 2018.
- Michael Inden: Der Weg zum Java-Profi. 4. Auflage, dpunkt.verlag, 2017.
- Joshua Bloch: Effective Java. 3. Auflage, Addison-Wesley, 2018.