LEA

Praktikum: Algorithmen für Programmierwettbewerbe

  • Dozent
    Prof. Dr. Harald Räcke
  • Praktikumsleitung
    Stefan Toman
    Chris Pinkau
    Moritz Fuchs
    Philipp Hoffmann
    Chris Müller
    Für E-Mails an die Praktikumsleitung verwenden Sie bitte die Adresse conpra@in.tum.de.
  • Modul
    IN0012, IN2106, TUMonline
  • Vorbesprechung
    Die Vorbesprechung findet am Montag, 6. Juli 2015, 10:00 Uhr in 5620.01.102 (102, Interims Hörsaal 2) statt.
  • Zeit
    Mittwoch, 12:00 - 13:30 Uhr, Raum MI 00.08.038

    Achtung: am 02.12.2015 findet die Vorlesung im Raum 00.13.009A statt.
  • 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 TUMudge einen Fork des Systems verwenden, das auch bei vielen 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.