Table of Contents

Algorithms for Competitive Programming (SoSe 2023)

Veranstalter Mart Hagedoorn
Modul Fachprojekt - Bachelor Informatik/Angewandte Informatik
SWS 4
Zeit Mittwochs von 12h bis 16h

Beschreibung

Beim Competitive Programming geht es darum, für konkrete Probleme algorithmische Lösungen zu entwickeln und in möglichst kurzer Zeit zu implementieren. In dieser Veranstaltung wird einerseits das Verständnis für grundlegende effiziente Algorithmen vertieft, andererseits das Anwenden der Algorithmen und Programmieren unter Zeitdruck geübt. Die Association for Computing Machinery (ACM) richtet seit 1970 jährlich den International Collegiate Programming Contest (ICPC) aus, an welchem wir uns orientieren werden.

In unserer Veranstaltung werden wichtige Algorithmen und Datenstrukturen zur Lösung von Problemen aus früheren Jahren des ICPCs in Vorträgen vorgestellt und Lösungsansätze gemeinsam diskutiert. Neben den Vorträgen werden Aufgaben in einer simulierten Wettbewerbssituation in 3er-Teams gelöst und programmiert. Am Ende des Semesters besteht die Möglichkeit, am GCPC 2023 (Link zum GCPC von 2022) teilzunehmen.

Zeitplan und Ablauf

Jeden Mittwoch von 12 bis 16 Uhr findet das Fachprojekt statt. In den ersten beiden Stunden werden spezifische Techniken zur Lösung von Wettbewerbsproblemen behandelt. Die letzten beiden Stunden sind der Bearbeitung von Übungsaufträgen gewidmet.

Programmiersprache: C, C++, Java oder Python (Hauptsache Sie finden zwei weitere Teilnehmer für ihre präferierte Sprache)

Kurssprache ist deutsch, die Problembeschreibungen/Aufgabenstellungen werden jedoch auf englisch sein!

Woche Thema
Woche 1 - 05.04.2023 Einführung, Gruppen bilden, Themenvergabe
Woche 2 - 12.04.2023 Tipps & Tricks
Woche 3 - 19.04.2023 Systemeinführung, Programming Challenges Online Judge, Standard IO
Woche 4 - 26.04.2023 Datenstrukturen und Algorithmen-entwurfsmethoden
Woche 5 - 03.05.2023 Such- und Sortieralgorithmen
Woche 6 - 10.05.2023 Strings
Woche 7 - 17.05.2023 Interner Wettbewerb
Woche 8 - 24.05.2023 Graphtraversierung
Woche 9 - 31.05.2023 Flow- und Matching- Probleme
Woche 10 - 07.06.2023 Algorithmische Geometrie
Woche 11 - 14.06.2023 GCPC Vorbereitung
Woche 11 - 17.06.2023 GCPC '23

Voraussetzungen

Prüfungsleistung

alle Modulabschlussleistungen finden als 3er-Team statt

Materialien