LEA

Praktikum: Algorithmen für Programmierwettbewerbe

  • Dozent
    Prof. Dr. Ernst W. Mayr
  • Praktikumsleitung
    Stefan Toman
    Chris Pinkau
    Philipp Hoffmann
    Christian Müller
    Für E-Mails an die Praktikumsleitung verwenden Sie bitte ausschließlich die Adresse conpra@in.tum.de.
  • Modul
    IN0012, IN2106, TUMonline
  • Vorbesprechung
    Die Vorbesprechung findet am Freitag, 23. Januar 2015, 14:00 Uhr in Raum MI HS 2 statt.
  • Zeit
    Donnerstag, 12:30-14:00, Raum MI 00.13.009A
  • Rechnerraum
    Die Aufgaben können in unserem Rechnerraum MI 03.09.034, der Rechnerhalle oder am eigenen Computer gelöst werden.
  • Bereich
    Informatik III (Theoretische Informatik)
  • Voraussetzungen
    Grundlagen von C, C++ oder Java, z.B. aus der Vorlesung Einführung in die Informatik 1
    Vorlesung Grundlagen: Algorithmen und Datenstrukturen
  • Bewertung
    Zum Bestehen des Praktikums ist es notwendig ausreichend viele der gestellten Übungsaufgaben selbstständig zu lösen und eine mündliche Prüfung am Ende es Kurses zu bestehen. Die Note ergibt sich ebenfalls aus Qualität und Anzahl der eingereichten Hausaufgaben sowie der mündlichen Prüfung.

Aufgabenblätter

Alle Dokumente befinden sich auf der englischen Version dieser Seite.

Beschreibung

Programmierwettbewerbe sind Wettkämpfe, bei denen Aufgaben mit Hilfe von Computerprogrammen gelöst werden müssen. Dabei werden die Verwendung verschiedener Algorithmen und Datenstrukturen sowie Fähigkeiten in Problemanalyse, Softwareentwicklung und Teamarbeit auf eine spielerische Art und Weise geübt. Wichtige Themen der theoretischen Informatik und Mathematik werden mit dem Spaß am Programmieren verbunden.

Programmierwettbewerbe gibt es in unterschiedlichen Ausführungen und mit verschiedenen Schwerpunkten. Dieses Praktikum wird sich am International Collegiate Programming Contest (ICPC) orientieren, einem internationalen Programmierwettbewerb für Universitätsstudierende, der seit den 1970er Jahren von der Association for Computing Machinery (ACM) veranstaltet wird. In diesem Wettbewerb lösen Gruppen von je bis zu drei Studierenden an einem Rechner in fünf Stunden etwa zehn Probleme. Die Fakultät für Informatik der TU München nimmt seit einigen Jahren mit mehreren Mannschaften am ICPC teil. Einen Eindruck der Aufgaben, die in ähnlicher Form im Praktikum bearbeitet werden, vermitteln ausgewählte Aufgaben aus dem German Collegiate Programming Contest (GCPC) 2012.

Im Rahmen einer wöchentlichen Praktikumsvorlesung werden benötigte Algorithmen und notwendige Grundlagen zu wöchentlich wechselnden Themen erklärt. In der darauf folgenden Woche bearbeiten die Teilnehmer Aufgaben zu diesem Thema. Lösungen, Hinweise und verschiedene Ideen zu den gestellten Aufgaben werden in der jeweils folgenden Vorlesung vorgestellt. Die Aufgaben haben unterschiedliche Schwierigkeitsgrade, beginnend bei direkten Implementierungen der vorgestellten Algorithmen bis hin zu schwierigeren Original-Aufgaben aus verschiedenen Wettbewerben. Zur Einreichung und Bewertung der Aufgaben werden wir mit dem DOMJudge das gleiche System verwenden, das auch bei fast allen Runden des International Collegiate Programming Contest (ICPC) eingesetzt wird.

Ziele der Veranstaltung sind

  • ein tiefes Verständnis für weitverbreitete, wichtige Algorithmen und Datenstrukturen,
  • das Kennenlernen spezialisierter und aus aktueller Forschung stammender Algorithmen,
  • eine Vertiefung der Fähigkeiten im Problemlösen und in der Problemanalyse,
  • das Üben des selbstständigen Erkennens benötigter Algorithmen für gegebene Probleme,
  • eine Verbesserung der Teamfähigkeit durch die Teilnahme an Teamwettbewerben,
  • die Anwendung wichtiger Methoden der Mathematik sowie
  • die Vorbereitung der Teilnehmer auf Programierwettbewerbe.