Modul
Fortgeschrittenes Algorithmisches Programmieren [M-INFO-105723]
Leistungspunkte
6Turnus
Jedes WintersemesterDauer
1 SemesterSprache
DeutschLevel
3Version
2Verantwortung
Einrichtung
- KIT-Fakultät für Informatik
Bestandteil von
Teilleistungen
Identifier | Name | LP |
---|---|---|
T-INFO-111399 | Fortgeschrittenes Algorithmisches Programmieren | 6 |
Erfolgskontrolle(n)
Siehe Teilleistung.
Qualifikationsziele
Nach erfolgter Teilnahme an der Lehrveranstaltung können die Studierenden
- problemorientiert effiziente Implementierungen mit bekannten algorithmischen Techniken in midestens einer Programmiersprache umsetzen,
- Laufzeit (in Sekunden) von Algorithmen und Implementierungen basierend auf der Eingabegröße abschätzen,
- Anwendungsfälle für existierende Algorithmen erkennen,
- algorithmische Methoden anpassen und kombinieren um neue Algorithmen zu entwickeln.
Voraussetzungen
Siehe Teillesitung.
Inhalt
Im Verlauf des Semesters werden Algorithmen und Datenstrukturen vorgestellt, welche aufgrund ihrer Effizienz und vergleichsweise kurzen Implementierung Anwendung in Programmierwettbewerben finden. Zu jedem Themengebiet (Strings, Zahlentheorie, Graphen, Treaps, etc.) müssen praktischen Übungsaufgaben implementiert werden. Höhepunkte der Veranstaltung ist ein Contest, in dem sich die Studierenden unter Wettbewerbsbedingungen miteinander messen.
Aus den Teilnehmern der Veranstaltung werden außerdem die Teams ausgewählt, die die Universität Karlsruhe beim ACM ICPC Regionalwettbewerb der Region Nordwesteuropa (NWERC) vertreten werden.
Empfehlungen
Grundkenntnisse über Algorithmen und Datenstrukturen (z.B. aus den Vorlesungen Algorithmen 1 + 2) und Programmierkenntnisse in C++ werden erwartet.
Erfolgreiche Teilnahme am Basispraktikum zum ICPC Programmierwettbewerb wird stark empfohlen.
Arbeitsaufwand
6 LP entspricht ca. 180 Arbeitsstunden
30 Std. Besuch der Vorlesung
30 Std. Vor- und Nachbereitung
100 Std. Bearbeitung der Übungsblätter
20 Std. Prüfungsvorbereitung