CS2353 Effiziente Algorithmen und ihre Anwendung

Modulverantwortliche
  • Dr. habil. Frank Kammer
Lehrende
  • Prof. Dr. Michael Elberfeld
  • Maria Hansen
Notwendige Voraussetzungen zur Teilnahme

Für Bachelor Informatik, Bachelor Ingenieur- Informatik, Bachelor Bioinformatik:

CS1013 Objektorientierte Programmierung, CS1017 Algorithmen und Datenstrukturen, MN1007 Diskrete Mathematik

Für Bachelor Social Media Systems:

IT1002 Webbasierte Programmierung 2, MN1007 Diskrete Mathematik

Kurzbeschreibung

Die Studierenden haben ein fundiertes Wissen über Algorithmen und können diese verstehen, implementieren und sinnvoll anwenden. Sie können den Ressourcenverbrauch bewerten, Techniken zur Effizienzsteigerung anwenden und passende Algorithmen in Literatur und Programm-Bibliotheken finden und nutzen.

Inhalte
  • Analyse von Algorithmen
  • Datenstrukturen (z.B.: Union-Find, Rank-Select, Choice Dictionaries, Suffix-Trees)
  • Modifikation grundlegender Algorithmen zur Laufzeit- und Platzoptimierung
  • Fortgeschrittene Graph Algorithmen und ihre Anwendungen (z.B.: Abhängigkeitsgraphen, Flüsse in Netzwerken)
  • Training der mündlichen Kommunikationsfähigkeit im Team und vor einem Publikum
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können fortgeschrittene Algorithmen charakterisieren und diese erklären, implementieren und sinnvoll anwenden.
  • Sie können die Laufzeit und den Speicherplatz dieser Algorithmen herausfinden und verschiedenste Techniken verwenden, um eine Verbesserung der Effizienz zu erreichen.

Methodenkompetenzen (fachlich & überfachlich)

  • Sie sind sie in der Lage für gegebene Anwendungen Algorithmen in der Literatur oder existierenden Programm-Libraries zu finden und diese passend zu nutzen.

Sozialkompetenzen

  • Die Studierenden können strukturiert und in Gruppen koordiniert und organisiert an einer Aufgabe arbeiten und die möglichen Lösungen dieser diskutieren.
  • Die Studierenden können Algorithmen und Datenstrukturen modular aufteilen und wichtige Aspekte einem Publikum verständlich präsentieren.

Selbstkompetenzen

ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Seminaristischer Unterricht 4 SWS
Studiensemester
  • Bioinformatik (B.Sc. 2012)
  • Informatik (B.Sc. 2010)
  • Ingenieur-Informatik (B.Sc. 2010)
  • Social Media Systems (B.Sc. 2016)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Hausübungen (Anzahl der Hausübungen, sowie die davon zu bestehende Anzahl wird den Studierenden zu Beginn der Veranstaltung rechtzeitig und in geeigneter Form bekannt gegeben.)

Prüfungsleistung: Projekt

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Cormen, T. H.; Leiserson, C. E.; Rivest, R. L.; Stein, C.: Introduction to Algorithms. MIT Press.
  • Aho, A. V.; Ullman, J. D.; Hopcroft, J. E.: Data Structures and Algorithms. Addison Wesley.
  • Gusfield, D.: Algorithms on Strings, Trees, and Sequences. Computer Science and Computational Biology. Cambridge University Press.
  • Ahuja, R. K.; Magnanti, T. L.: Network Flows. Theory, Algorithms, and Applications. Prentice Hall.

Rechtliche Hinweise