BIN452: Fortgeschrittene Java-Programmierung

Wahlpflicht-Module

BIN452: Fortgeschrittene Java-Programmierung

Kurzporträt BIN452: Fortgeschrittene Java-Programmierung
Worum geht es? Das Modul vertieft Java über grundlegende Programmierung hinaus. Studierende beschäftigen sich mit Typsystemen, Reflection, Persistenz, Datenbankanbindung, Jakarta EE und mehrschichtigen Unternehmensanwendungen. Dabei verbinden sie Sprachkonzepte mit praktischer Softwareentwicklung.
Wofür braucht man es? Java ist in vielen professionellen Softwareprojekten verbreitet, insbesondere bei Backend- und Unternehmensanwendungen. Die Kompetenzen helfen, bestehende Anwendungen zu verstehen, robuste Komponenten zu entwickeln, Datenbanken anzubinden und technische Entscheidungen begründet zu treffen.
Wieso ist es interessant? Fortgeschrittene Java-Programmierung zeigt, wie aus objektorientierten Grundlagen größere, verteilte und datenbankgestützte Systeme entstehen. Studierende sehen, wie Typsicherheit, Frameworks, Persistenz und Architekturentscheidungen zusammen die Qualität professioneller Software beeinflussen.
Modulverantwortung

Prof. Dr. Thomas Nitsche

Lehrperson(en)

Prof. Dr. Thomas Nitsche

Verwendbarkeit

Bachelor Informatik

Fächergruppe

Informatik

Modultyp
Wahlpflicht
Sprache

Deutsch

Angebot

jährlich

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

2 V | 2 Ü | - P | - S

Workload
Präsenzstudium: 45 Std. Selbststudium: 90 Std.
Engl. Titel

Advanced Java Programming

Empfohlene Voraussetzungen
  • BIN201: Weiterführende Programmentwicklung: objektorientierte Programmierung, Tests, Softwareentwurf.
Lernergebnisse / Kompetenzen
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.

Inhalte
  • 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
Prüfungsvorleistung

Bearbeitung ausgewählter Übungsaufgaben.

Prüfungsleistung

Mündliche Prüfung.

Literatur
  • 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.