Modulbeschreibung

Objektorientierte Programmierung 2

ECTS-Credits:
4
Lernziele:
  • Sie können fortgeschrittene Programmiertechniken von Java beschreiben und anwenden (File I/O, Serialisierung, Generics, Reflection, Annotations).
  • Sie können Datenstrukturen beschreiben, implementieren und einsetzen (Arrays, Liste, Sets, Stack, Queue, Maps, Bäume, Hash-basierte Datenstrukturen).
  • Sie können grundlegende Such- und Sortieralgorithmen beschreiben, implementieren und analysieren.
  • Sie können Verfahren zur Analyse der Laufzeitkomplexität von Algorithmen beschreiben und vergleichen und mit der O-Notation einen gegebenen Algorithmus auf seine Komplexität analysieren.
  • Sie können ausgewählte Design Patterns beschreiben und in passenden Anwendungsfällen implementieren (Iterator, Adapter, Visitor, Template Method).

Kurse in diesem Modul

Objektorientierte Programmierung 2:

Fortgeschrittene Programmiertechniken in Java: 

  • File I/O & Serialisierung   
  • Generische Programmierung
  • Reflection-API
  • Rekursive Programmierung

 

Analyse von Algorithmen

  • Empirische Laufzeitmessung
  • Komplexitäts-Analyse mit der O-Notation

 

Grundlegende Such- und Sortieralgorithmen

  • Binäre Suche
  • Insertionsort, Selectionsort, Heapsort

 

Datenstrukturen

  • Arrays und Listen
  • Stacks und Queues
  • Bäume (Traversierungen, Heaps)
  • Hashing und Anwendungen (Map, Multimap, Hashtabellen)
  • Sets, Multisets
  • Fortgeschrittene Datensrukturen (z.B. Priority Queue, Deque)

 

Design Patterns für Algorithmen und Datenstrukturen

  • Adapter
  • Iterator
  • Template Methode
  • Visitor
Vorlesung mit 2 Lektionen pro Woche
Uebung mit 2 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.