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)

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 Dozenten

Modulverantwortliche(r):  Prof. Dr. Jan Christiansen

Dozent(in):  Prof. Dr. Jan Christiansen