Modulbeschreibung

Programmieren 2: Algorithmen und Datenstrukturen

Kurzzeichen:
M_AD
Unterrichtssprache:
Deutsch
ECTS-Credits:
8
Leitidee:
  1. Sie kennen grundlegende Algorithmen und Datenstrukturen und können diese in praktischen Beispielen einsetzen.
  2. Sie können eigene Abstrakte Datentypen definieren und mithilfe eigener Datenstrukturen implementieren
  3. Sie kennen Bewertungskriterien für Algorithmen und können Algorithmen bewerten.
Modulverantwortung:
Prof. Dr. Stolze Markus
Standort (angeboten):
Rapperswil-Jona
Modultyp:
Wahlpflicht-Modul für Informatik STD_05(Empfohlenes Semester: 2)Kategorie:Grundlagen Informatik (I-g)
Wahlpflicht-Modul für Informatik STD_11(Empfohlenes Semester: 2)Kategorie:Grundlagen Informatik (I-g)
Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 180 Minuten

Inhalte

Modul- und Lerninhalt:
  1. Entwurf und Analyse von Algorithmen
    - Begriff des Algorithmus, reguläre Ausdrücke
  2.  XML
    Grundlagen (Konzept [wohlgeformt, validiert], DTD, Path, Schema)
  3. Rekursion 
  4. Beispiele von Algorithmen: Suchen, Sortieren, Quicksort 
  5. Komplexität und asymptotisches Verhalten von Algorithmen (Time, Space) : Bewertung von Algorithmen 
  6. Divide-and-conquer, Backtracking, Greedy-Algorithmen 
  7. Dynamische Programmierung

Datenstrukturen 

  1. Grundlagen: ADT, Stack, Queue, Verkettete Liste, Iterator 
  2. Bäume: Traversierung, Suchbäume, Sortieren mit Bäume (HeapSort) 
  3. Hashverfahren 
  4. Graphen: Grundbegriffe (gerichtete Graphen, gewichtete Graphen, etc.), Breiten- und Tiefen-Durchlauf, kürzester Weg in Graphen

Design Patterns 

  1. Konzept und Eigenschaften von Entwurfmuster 
  2. Auswahl von wichtigen Design Pattern wie: Strategie, Adapter, Decorator, Singelton, Composite, Observer