Algorithmen und Datenstrukturen
Dieses Modul besteht aus einer Lehrveranstaltung.
Prüfungsordnung: MI-BA-2017
Studienorganisation
Studiensemester: 2
Turnus: Sommersemester, jährlich
Modultyp: Pflichtveranstaltung
Lehrform: Vorlesung/Labor
Art der Präsenzveranstaltung: Vorlesung/Labor
Sprache: Deutsch
Kompetenzen/Lernziele
Sie kennen die mathematischen Konzepte Aussage, Quantor, Menge, Relation, Abbildung, Folge und Graph und können damit arbeiten. Sie können Verfahren zur Lösung von Problemen algorithmisch formulieren und Sie sind in der Lage, die Zeitkomplexität eines Algorithmus zu analysieren. Des weiteren kennen Sie grundlegende Datenstrukturen wie Stack, Queue und Liste und können diese geeignet einsetzen. Sie verstehen das Prinzip der Abstraktion und der Austauschbarkeit. Aufbauend auf der Kenntnis grundlegender Begriffe der Graphentheorie können Sie geeignete Sachverhalte mithilfe von Graphen modellieren. Sie kennen außerdem grundlegende Graphalgorithmen. Sie sind in der Lage, die algorithmische Schwierigkeit von Problemen einzuschätzen. Sie können Algorithmen und Datenstrukturen objektorientiert programmieren.
Inhalte
Grundlagen
- Aussage
- Quantoren
- Menge
- Relation
- Abbildung
- Folge
- asymptotische Komplexität
Datenstrukturen
- Array
- Stack
- Queue
- verkettete Liste
Graphen
- gerichtet/ungerichtet
- Pfad
- Kreis
- Teilgraph
- Baum
- Tiefensuche
- Breitensuche
In den begleitenden Übungen werden zunächst in kleineren Gruppen die mathematischen Grundlagen geübt. Später werden ausgewählte Algorithmen und Datenstrukturen am Computer programmiert und hinsichtlich ihrer Laufzeiten verglichen.
Arbeitsaufwand
4 SWS, 5,0 Creditpoints (CP)
60 h Präsenzstudium, 90 h Eigenstudium
Prüfung
Art der Prüfung: Prüfungsleistung
Prüfungsform: K(2)
Zweistündige Klausur.
Labor zur Anerkennung des Moduls nötig:
Literatur
- H.W. Lang: Algorithmen in Java. 3. Auflage, Oldenbourg (2012)
- G. Saake und K.U. Sattler: Algorithmen und Datenstrukturen. 4. Auflage, dpunkt (2010)
- R. Sedgewick, K. Wayne: Algorithms. 4. Auflage, Addison-Wesley Longman (2011)
- T.H. Cormen, C.E. Leiserson, R.L. Rivest und C. Stein: Algorithmen - Eine Einführung. 3. Auflage, Oldenbourg Verlag, (2010)
Voraussetzungen
Voraussetzungen lt. Prüfungs- und Studienordnung
keine
empfohlene Voraussetzungen
- Programmierkenntnisse aus dem ersten Semester
Verantwortliche Dozierende
Modulverantwortliche(r): Prof. Dr. Jan Christiansen
Dozent(in): Prof. Dr. Jan Christiansen B.Sc. Oliver Preikszas