Software-Projektpraktikum WS2020
Algorithmic Battle
Inhalt
In diesem Praktikum treten zwei oder mehr Teams von Studierenden gegeneinander an. Jedes Team soll zum einen für ein vorgegebenes Problem schwierige Instanzen generieren, und zum anderen die schwierigen Instanzen der gegnerischen Teams lösen. Dieser Wettstreit findet in mehreren Runden für verschiedene Probleme statt. Geben wir als Problem zum Beispiel Clique vor, so gilt es Graphen zu generieren, bei denen eine maximale Clique sehr schwer zu finden ist. Außerdem soll ein Programm geschrieben werden, welches für möglichst große Graphen des Gegnerteams die maximale Clique findet. Das Team, welches die größeren Instanzen des Gegnerteams innerhalb einer vorgegebenen Zeit lösen kann, gewinnt die entsprechende Runde. Dabei ist (fast) alles erlaubt: Programmiersprachen und Werkzeuge könnt ihr euch selbst aussuchen. Ihr könnt eigene Algorithmen implementieren oder vorgefertigte Programme wie ILP Solver verwenden. Ihr dürft alle Bibliotheken beliebiger Programmiersprachen verwenden. Ziel des Praktikums ist es, praktische Erfahrung mit Problemen der theoretischen Informatik zu sammeln, als Team an einem Softwareprojekt zu kollaborieren und dafür nötige Erfahrungen wie Versionskontrolle, Dokumentation und Programmiererfahrungen zu sammeln. In die Benotung geht nicht nur die erziehlte Punktzahl ein, sondern auch andere Aspekte, wie Organisation, Kreativität und Teamarbeit.