Programmierwettbewerbe
Jährlich werden viele Programmierwettbewerbe veranstaltet. Auf dieser Seite präsentiere ich einige davon.
Inhaltsverzeichnis |
Motivation
Warum sollte man an einem solchen Bewerb teilnehmen? Es sprechen viele Gründe dafür; nicht nur lernt man dabei viel neues, man reist auch weit, trifft neue Menschen und Kulturen, schließt Freundschaften und macht wichtige Erfahrungen. Auch im Lebenslauf hinterlassen derartige Bewerbe oft einen bleibenden Eindruck, der potentiellen Arbeitgebern durchaus auffällt!
Training
Um bei den Wettbewerben erfolgreich zu sein, ist intensives Training notwendig. Insbesondere bei den international ausgeschriebenen Algorithmen-Bewerben ist das Niveau meist sehr hoch. Optimal ist es natürlich, wenn das Training von einem Coach begleitet wird - etwa an einer Schule oder Universität. Aber auch alleine ist gutes Training möglich. mehr ...
Arten an Bewerben
Es gibt eine Vielzahl verschiedener Programmierwettbewerbe. Diese können Anhand vieler Kriterien voneinander unterschieden werden:
- Altersgrenzen: Manche Bewerbe sind für Schüler, manche für Studenten, manche ohne Alterslimit.
- Aufgabenstellung: algorithmische Bewerbe, allgemeine Programmierbewerbe, Bewerbe mit freier Projektwahl ("Informatik"-Bewerbe).
- Teilnehmergruppierung: Einzel- oder Teambewerbe.
Algorithmische Bewerbe
Bei derartigen Bewerben müssen die Teilnehmer eine oder mehrere algorithmische Aufgabenstellung(en) lösen. Es sind Aufgaben, die mit Hilfe eines bestimmten Algorithmus gelöst werden können; andere Algorithmen führen nicht oder nicht so schnell oder korrekt zum Ziel. Je nach Bewerb werden Teillösungen - etwa von nicht-optimalen Algorithmen - akzeptiert oder auch nicht. Der Fokus bei der Programmierung liegt auf dem Finden und dem korrekten Implementieren des richtigen Algorithmus. Weniger Wert wird meist auf die genaue Weise der Implementierung gelegt; "Implementierungsdetail" sind für die Platzierung letztlich meist unwesentlich.
Als Programmiersprache stehen meist C/C++ und Java zur Verfügung, je nach Bewerb aber auch andere.
Internationale Informatik-Olympiade
Die Internationale Informatik-Olympiade (kurz: IOI) ist ein Programmierwettbewerb für Schüler. Pro Nation sind vier Teilnehmer für das Weltfinale zugelassen. In nationalen Ausscheidungen werden diese vier Teilnehmer bestimmt, jedes Land hat dafür einen anderen Modus entwickelt. Im Finalbewerb werden an zwei Tagen mit jeweils fünf Stunden Wettbewerb insgesamt sechs Aufgaben (drei pro Tag) gestellt. Die Teilnehmer arbeiten jeder für sich, Teamarbeiten sind nicht möglich. Neben dem Wettbewerb wird ein umfangreiches Unterhaltungs- und Sightseeing-Programm geboten. mehr ...
ACM International Collegiate Programming Contest
Der International Collegiate Programming Contest ist ein Algorithmen-Programmierwettbewerb für Studenten. Er wird jährlich von der ACM veranstaltet und findet in zumindest zwei Runden weltweit statt. Teilnehmen können Studenten in 3-Personen-Teams. Eine Besonderheit des Bewerbes ist es, dass nur ein Terminal zur Verfügung steht. Es wird also viel Wert auf Teamwork, "Programmieren abseits des Terminals" und gute Planung/Design der Algorithmen vor dem Implementieren gelegt. mehr ...
Google Code Jam
Der Google Code Jam ist ein Algorithmen-Programmier-Wettbewerb von Google. Noch mehr als bei anderen Bewerben wird auf Geschwindigkeit Wert gelegt; die Aufgaben sind meist leichter als bei anderen Bewerben dieser Art, dafür aber auch in viel kürzerer Zeit zu lösen. mehr ...
TopCoder
Allgemeine Programmierbewerbe
Bei Bewerben dieser Art erhalten die Teilnehmer eine Aufgabenstellung aus dem Bereich der Informatik/Programmierung, die sie innerhalb einer vorgegebenen Zeit lösen müssen. Es wird dabei über den Aspekt der Algorithmenprogrammierung hinaus gegangen. Gefordert werden umfassendere Programmierkenntnisse, so wird häufig auch Netzwerk-, Benutzerschnittstellen- oder Multimedia-Programmierung gefordert.
Challenge24
Challenge24 wird jährlich im Frühjahr von der Budapest University of Technology and Economics veranstaltet. Es nehmen daran 3-Personen-Teams teil. Das besondere an diesem Bewerb ist, dass das Finale 24 Stunden lang dauert, von den Teilnehmern also auch physisch einiges abverlangt. Die Aufgabenstellungen sind jedes Jahr unterschiedlich. Meist handelt es sich um Vielzahl "kleinerer" Aufgaben mit unterschiedlichen Schwerpunkten. Im Jahr 2007 etwa musste ein Spiel (2D-Weltraum-Kampfsimulation) programmiert, eigentlich vervollständigt, werden. Neben dem Aspekt der Programmierung kam hier zusätzlich die Taktik mit ins "Spiel" (im wahrsten Sinne des Wortes), da man mit einem zumindest halbwegs intakten Schiff auf Entdeckungsreise fliegen konnte, andere Teams angreifen und Punkte durch das kartographieren der Galaxie sammeln konnte. So wurde auch der Spieltrieb der Programmierer befriedigt. mehr ...
Catalysts Coding Contest
Der Catalysts Coding Contest ist ein jährlich von der Firma Catalysts ausgerichteter Programmierwettbewerb an der Johannes Kepler Universität in Linz. Neben der Teilnahme vor Ort ist es auch möglich, remote teilzunehmen. Die Teilnehmer müssen dabei eine Aufgabenstellung - aufgeteilt auf mehrere Levels mit steigender Komplexität - in maximal 4 Stunden lösen.
Informatik-Bewerbe
Microsoft Imagine Cup
Der Imagine Cup wurde von Microsoft initiierte und heute noch finanziert. Er sich aus mehreren (derzeit 9) Teilbewerben zusammen. Die Teilnehmer können in beliebig vielen dieser Kategorien teilnehmen, die jeweils völlig unterschiedliche Aspekte der Informatik abdecken. Die Palette reicht dabei von "Short Film" über "Interface Design" und "Software Design" bis zu "Algorithm". In mehreren Runden müssen sich die Teilnehmer für das Finale qualifizieren, das jedes Jahr an einem anderen Ort statt findet. mehr ...
u19 freestyle compting
Der Bewerb u19 - freestyle computing wird jährlich im Rahmen des Linzer Cyber-Kunst-Festivals "Prix Ars Electronica" veranstaltet. Er ist nach eigenen Angaben der größte österreichische Informatik-Wettbewerb. Teilnehmen können alle Personen unter 19 Jahren mit Wohnsitz in Österreich. Einzureichen ist ein Informatik-bezogenes Projekt gleich welcher Art. more ...