Objektorientierte Programmierung 2

ECTS 3.0

Inhaltsübersicht

Während es im Modul Objektorientierte Programmierung 1 (oopI1) vorwiegend darum geht, grundlegende Sprachelemente kennenzulernen und einzusetzen, verlagert sich der Fokus in diesem Modul in Richtung Entwicklung von Applikationen mit Benutzerschnittstelle und persistenter Datenspeicherung. Demzufolge liegt der Schwerpunkt nicht mehr in der Sprache selbst, sondern es werden einige wesentliche Pakete und Klassen der Standard-Bibliothek, grundlegende Architektur-Konzepte für Applikationen und etablierte Vorgehensweisen wie frühzeitiger Einsatz von Unit-Tests thematisiert.

  • Verwendung grundlegender Datenstrukturen (List, Map, Set) und Iteratoren
  • Generics und ihre Besonderheiten in Java
  • Collection-Streams und Lambda-Ausdrücke
  • GUI-Framework (Event-Handling, Layout)
  • Nebenläufigkeit mit Threads
  • Strukturierung von Applikationen
  • Daten-Persistenz (File-Handling, Serialisierung)

Lernziele

Die Studierenden

  • sind in der Lage, eine komplette Applikation inklusive einer file-basierten Datenspeicherung, einem klar getrennten Model-Layer und einem UI-Layer zu implementieren.
  • verstehen das Konzept des generischen Collections-Frameworks und können es zur Datenhaltung in eigenen Projekten einsetzen.
  • sind in der Lage, selbst generische Klassen zu implementieren.
  • kennen den Nutzen einer konsequenten Trennung von Aufgabenbereichen in dedizierten Klassen, Paketen und Modulen innerhalb eines Programms und können diese in ihren Projekten umsetzen.
  • können einfache Unit-Tests einsetzen.
  • kennen das Konzept von Nebenläufigkeit und verstehen, an welchen Stellen der Applikations-Entwicklung besonders darauf geachtet werden muss.
  • können selbstständig nach weiteren, nicht im Unterricht behandelten Umsetzungsmöglichkeiten recherchieren, auswählen und in ihr Projekt integrieren.

Empfohlene Vorkenntnisse

Objektorientierte Programmierung 1 (oopI1)

Leistungsbewertung

Erfahrungsnote und MSP schriftlich