Competitive Programming
Das Seminar richtet sich ausschließlich an Studierende im Master. In dieser Veranstaltung beschäftigen wir uns mit einem an Wettbewerbe angelehnten Format, bei dem anhand von Aufgabenstellungen Algorithmen entworfen und in C++ oder Java so implementiert werden müssen, dass sie in der Lage sind, verschiedene (dem Programmierenden unbekannte) Testfälle in vorgegebener Zeit zu lösen. Dabei geht es um die Synthese von theoretischer Algorithmenanalyse bzw. dem Entwurf theoretisch effizienter Algorithmen mit hochwertiger Programmierung. Die besondere Herausforderung und der besondere Reiz besteht gerade in dieser Verschränkung von Kreativität (für die Entwicklung von Lö sungsansätzen und Algorithmen), mit dem sicheren Umgang mit theoretischer Analyse der Effizienz von Algorithmen sowie fundierten Programmierkenntnissen.
Zu Beginn des Semesters werden Aufgaben aus dem Competitive Programming zugeteilt, die während des Semesters gelöst werden. Am Ende des Semesters halten alle Teilnehmer/innen einen Vortrag mit anschließender Diskussion. Aktive Teilnahme an der Diskussion und somit auch den Vorträgen wird erwartet. Eine Abgabe des erstellten Codes ist erforderlich.