Pflicht/Wahl-Modul Semester Häufigkeit ECTS-Credits Material
Wahlpflicht 3. Fachsemester jährlich 5 OPAL

Studiengänge

  • Medieninformatik und Interatives Entertainment (B.Sc.)

Ausbildungsziel

Das Modul vermittelt Kernkompetenzen, die den Studierenden in die Lage versetzen, algorithmische Probleme effizient lösen zu können. Es werden Standarddatenstrukturen, algorithmische Verfahren und klassische Probleme mit ihren Lösungen vermittelt. Neben der Vorlesung erwirbt der Student durch die selbständige Lösung algorithmischer Probleme im begleitenden Praktikum Fachkompetenz. Es werden typische praktische Probleme bearbeitet und deren Lösungen von den Studierenden vorgestellt. Auf diese Weise werden auch fachübergreifende Schlüsselkompetenzen (Kommunikation, Präsentation) und Methodenkompetenzen (Wissenserwerb, Methodik, Didaktik) vermittelt. Es wird Wert auf die Nutzung fremdsprachiger Literatur und Teamarbeit bei der Bearbeitung komplexerer Aufgaben gelegt. Bei erfolgreichem Abschluss des Moduls können die Studierenden selbständig klassische Algorithmen und Datenstrukturen für die Lösung praktischer Aufgaben einsetzen und angepasste Datenstrukturen entwickeln.

Inhalte

  • Suchverfahren
  • Textsuche
  • Mathematische Grundlagen:
    • Begriffe und Definitionen
    • Zeit- und Raumkomplexität
    • Landau-Symbolik
  • Algorithmische Paradigma:
    • Greedy Methode
    • Teile und Herrsche
    • Backtracking
    • Branch and Bound
    • Dynamische Programmierung
  • Sortieralgorithmen
  • P-NP-Problem
  • Standarddatenstrukturen, Aufwandsbetrachtungen:
    • linear (Liste, Schlange, Stapel)
    • Bäume (Suchbäume, balancierte Bäume)
    • Halden
    • Graphen
  • Klassische Probleme mit algorithmischen Lösungen:
    • Rucksackproblem
    • n-Damen-Problem
    • Springer-Problem
    • Minimum spanning tree
    • Problem des Handlungsreisenden
    • Zuordnungsproblem
    • Kürzeste Pfade in Graphen
    • Teilmengen-Summen-Problem

Lern-Methoden

In der Vorlesung werden Datenstrukturen und Algorithmen definiert. Es wird gezeigt, wie der Aufwand von Problemlösungen analysiert wird. Im Seminar werden die Erkenntnisse der Vorlesung vertieft und durch zusätzliche Beispiele veranschaulicht. Die Studierenden stellen in Kurzreferaten kleine Problemlösungen vor. Die Aufgaben für das Praktikum werden vorgestellt. Es wird eine Lösungsstrategie besprochen. Das betreute Praktikum wird am Rechner durchgeführt. Es werden typische, die Vorlesung und das Seminar unterstützende Programmieraufgaben gelöst. Ein Framework unterstützt diese Arbeit. Die Praktikumslösungen werden testiert.

Zusätzliche Informationen

  • 150 Stunden, davon:
    • 30 Stunden Vorlesungen (entspricht 2 SWS)
    • 30 Stunden Seminar (entspricht 2 SWS)
    • 30 Stunden Praktikum (entspricht 2 SWS)
    • 60 Stunden Vor- und Nachbereitung der Lehrveranstaltungen, Lösung von Aufgaben am Rechner, Prüfungsvorbereitung und Prüfung
  • 2 Testate/ Arbeitsproben im Semester
  • Praktische Abschlussarbeit am Ende des Semesters
  • Vorlesungsmanuskript
  • Corman, T.H./ Charles E. Leiserson, C.E./ Rivest, R.L./ Stein, C.: Introductions to Algorithms, MIT-Press, 2003
  • Heun, V.: Grundlegende Algorithmen, Vieweg, 2000
  • Knuth, D.E.: The Art of Computer Programming 1 – Fundamental Algorithms, Reading, 1997
  • Knuth, D.E.: The Art of Computer Programming 3 – Sorting and Searching, Reading, 1997
  • Mehlhorn, K.: Data Structures and Algorithms 1 – Sorting and Searching, Springer, 1984
  • Sedgewick, R.: Algorithms, Reading, 1991
  • Solymosi, A./ Grude, U.: Grundkurs Algorithmen und Datenstrukturen, Vieweg, 2000