Modulbeschreibung
Programmieren 2: Algorithmen und Datenstrukturen
Kurzzeichen:
M_AD
Unterrichtssprache:
Deutsch
ECTS-Credits:
8
Leitidee:
Sie kennen grundlegende Algorithmen und Datenstrukturen und können diese in praktischen Beispielen einsetzen.
Sie können eigene Abstrakte Datentypen definieren und mithilfe eigener Datenstrukturen implementieren
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:
Entwurf und Analyse von Algorithmen
- Begriff des Algorithmus, reguläre Ausdrücke
XML
Grundlagen (Konzept [wohlgeformt, validiert], DTD, Path, Schema)
Rekursion
Beispiele von Algorithmen: Suchen, Sortieren, Quicksort
Komplexität und asymptotisches Verhalten von Algorithmen (Time, Space) : Bewertung von Algorithmen
Divide-and-conquer, Backtracking, Greedy-Algorithmen
Dynamische Programmierung
Datenstrukturen
Grundlagen: ADT, Stack, Queue, Verkettete Liste, Iterator
Bäume: Traversierung, Suchbäume, Sortieren mit Bäume (HeapSort)
Hashverfahren
Graphen: Grundbegriffe (gerichtete Graphen, gewichtete Graphen, etc.), Breiten- und Tiefen-Durchlauf, kürzester Weg in Graphen
Design Patterns
Konzept und Eigenschaften von Entwurfmuster
Auswahl von wichtigen Design Pattern wie: Strategie, Adapter, Decorator, Singelton, Composite, Observer