Seminar ACM Programmierwettbewerb

Allgemeines

Am internationalen Programmierwettbewerb (ACM-ICPC http://icpc.baylor.edu/) beteiligen sich eine Vielzahl von Studenten aus Hochschulen aus der ganzen Welt. Dabei lösen Teams betehend aus 3 Personen Aufgaben in einer vorgegeben Zeit (5 Stunden). Diese Teams bestreiten zunächst regionale Ausscheidungswettbewerbe um sich für die Weltmeisterschaften zu qualifizieren.

Lernziele

Die Sudierenden kennen verschiedene grundlegende Algorithmen und sind in der Lage diese für komplexe Problemstellungen zu kombinieren. Sie programmieren unbekannte Problemstellungen in vorgegebener Zeit und können die implementierten Lösungen bezüglich Laufzeit und Speicherbedarf analysisieren. Sie sind in der Lage komplexe informationstechnische Probleme algorith- misch in vorgegebener Zeit zu lösen. Sie können ihre gefundenen Lösungen einem größeren Publikum erklären und präsentieren.

Voraussetzungen

Proseminar oder Bachelorabschluss.

Hilfreich sind Kenntnisse in einer der folgenden Programmier- sprachen: C, C++ oder Java.

Ablauf

Die Einzelheiten werden in der Semesterspezifischen Seite beschrieben.

Einführungsveranstaltung

Die Einführungsveranstaltung findet in der Regel in der ersten Woche der Vorlesungszeit statt. Hier einigen sich die Teilnehmer auf einen wöchentlichen Termin.

Wöchentlicher Termin

Im wöchentlichen Termin werden gemeinsam Lösungen für Aufgaben erarbeitet welche in früheren Ausscheidungswettbe- werbe o.ä. verwendet wurden. Die erarbeiteten Lösungen sollen von jedem Teilnehmer indiviuell implementiert werden.

Erwerb des Leistungsnachweises

Aus einer festgelegten Menge an Aufgaben muss eine einzige davon bis zu einem definierten Termin gelöst werden. In einem Kolloqium muss die gewählte Aufgabe, der Lösungsansatz, der Algorithmus und die Implementierung erläutert werden.

Literatur

Allgemein

  • Schöning, Uwe: Algorithmik. Heidelberg: Spektrum Akade- mischer Verlag, 2001.

  • Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.: Introduction to algorithms. Cambridge: MIT Press, 1996.

  • Wikipedia (https://en.wikipedia.org/) (https://de.wikipedia.org)

Sprachen

  • Sedgewick, Robert: Algorithms in C++, Parts 1-4, Funda- mentals, data structures, sorting, searching. Reading : Addison-Wesley, 1998.

  • Sedgewick, Robert: Algorithms in C++, Part 5, Graph algo- rithms. Boston : Addison-Wesley, 2002.

  • Sedgewick, Robert: Algorithms in Java. Boston : Addison-Wesley, 2003.