TI5006 Algorithmen: Entwurf, Analyse, Implementierung

Modulverantwortliche
  • Prof. Dr. Andreas Gogol-Döring
Lehrende
  • Prof. Dr. Michael Elberfeld
  • Prof. Dr. Andreas Gogol-Döring
Notwendige Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Dieser Kurs behandelt algorithmische Techniken, ihren Einsatz im Algorithmenentwurf und die Realisierung der Algorithmen mit modernen programmiersprachlichen Mitteln.

Inhalte
  • Analyse von Algorithmen
  • Algorithmische Entwurfstechniken: Divide-and-Conquer, Dynamic Programming, Branch-and-Bound, Succinct Data Structures, etc.
  • Techniken für reale Maschinen: Cache Efficiency, Bit-level Parallelism, etc.
  • Algorithm Engineering: Anwendung der Entwurfstechniken auf diverse Probleme; Messung und Optimierung der er- reichten Effizienz.
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die wichtigsten Entwurfstechniken für Algorithmen benennen und erläutern.
  • Sie können sowohl theoretische als auch auf reale Maschinen abzielende Methoden zur Analyse und Optimierung von Algorithmen benennen und erläutern.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden können algorithmische Techniken kreativ zur Lösung algorithmischer Probleme einsetzen.
  • Sie sind in der Lage, Algorithmen und Datenstrukturen auf die Anwendung hin zu entwerfen, effizient zu implementieren und zu optimieren.
  • Sie können die Adäquatheit der von ihnen gewählten Problemlösungen begründen, ihre Leistungsparameter abschätzen und ihre Korrektheit nachweisen.

Sozialkompetenzen

  • Die Studierenden können im Team Lösungen für algorithmische Probleme erarbeiten und erläutern.
  • Sie können ihre Lösungen auf unmissverständliche und formal korrekt Weise kommunizieren.

Selbstkompetenzen

  • Die Studierenden können selbständig Lösungen für algorithmische Probleme erarbeiten und erläutern.
  • Sie sind in der Lage, den Nutzen algorithmischer Techniken in ihrem zukünftigen beruflichen Werdegang als Softwareentwickler einzuschätzen.
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
  • Informatik (M.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Nach Bedarf
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 wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Prüfungsleistung: Mündliche Prüfung, Klausur oder Projekt (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

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 Masterstudiengänge der THM möglich.
Literatur, Medien
  • Gogol-Döring, A.; Letschert, T.: Algorithmen für Dummies. Wiley.
  • Cormen, T. H.; Leiserson, C. E.; Rivest, R.; Stein, C.; Molitor, P.: Algorithmen. Eine Einführung. De Gruyter.
  • Skiena; S.: The Algorithm Design Manual. Springer.
  • Robert, Y.; Benoit, A.; Vivien, F.: A Guide To Algorithm Design. Paradigms, Methods, and Complexity Analysis. Chapman & Hall / CRC Press.

Rechtliche Hinweise