solvistas beim CCC 2017 in Linz

LetztenCoder beim Start des Catalysts Conding Contests (CCC 2017) auf der JKU im Hörsaal 1 Freitag fand der Catalysts Coding Contest (CCC 2017) an der JKU Linz statt. Nach der letzten Teilnahme vor einigen Jahren wollten wir es wieder mal wissen!  Der 25. CCC am 31.03. war auch schon sehr international und es gab mehr als 2100 Teilnahmen an 18 Standorten. Unter den begeisterten EntwicklerInnen befanden sich mit meinem Kollegen Markus Hiesmair und mir auch 2 solvisten. Über unsere Erfahrungen und unser Abschneiden als Team „Schasinettenbären“  möchte ich hier kurz berichten.

Der Wettbewerb

Der Wettbewerb, der am Standort Linz im Hörsaal 1 der Johannes Kepler Universität stattfand, dauerte vier Stunden in denen es galt, acht Level so schnell wie möglich zu absolvieren. Die schwerer werdenden Level waren zum Teil aufbauend und hatten mit dem Thema Hyperloops zu tun. Hyperloops sind ein Konzept für ein Hochgeschwindigkeitstransportsystem von Unternehmer und Investor Elon Musk. Metropolregionen sollen durch Hyperloops verbunden werden um einen schnellen und sauberen Transport zu gewährleisten.

Der Großteil der Aufgaben bestand darin, die Reisedauer zwischen zwei Städten zu berechnen, wobei nicht alle Städte direkt verbunden waren und einige über gar keine Hyperloop Anbindung verfügten. Es musste also die schnellstmögliche Route inklusive An- und Abreise zu oder von den Hyperloop Stationen berechnet werden. In einem späteren Level wurde mit sogenannten Hubs ein weiteres „Element“ hinzugefügt. Diese verbinden Hyperloops miteinander, der Umstieg auf andere Linien ist nur an diesen Punkten möglich, wobei auch die Dauer des Umstieges und pro Station eine Wartezeit einkalkuliert werden musste.

Pro Level erhielten wir vier „Input-Files“, welche eingelesen und anschließend entsprechend der Aufgabenstellung verarbeitet werden mussten. Um das jeweilige Level abzuschließen musste für jedes dieser vier Files die richtige Lösung gefunden werden. Anschließend wurde das nächste Level freigeschaltet. Der Moment der Eingabe der Ergebnisse am Coding-Contest-Server war jedes mal wieder spannend. Gerade im Team kann es dabei zu kollektivem Jubel oder im Fall einer falschen Eingabe zu unzufriedenem Raunen kommen 🙂

Die Wahl der Programmiersprache für die Aufgaben steht jedem/jeder TeilnehmerIn frei. Der Großteil des Teilnehmerfeldes inkl. uns entschied sich für Java. Auch C#, Python und C++ wurde von vielen EntwicklerInnen eingesetzt, während Scala, php und Ruby eher selten verwendet wurden. Unser Eindruck ist jedoch, dass die Wahl der Programmiersprache für diese Beispiele nicht entscheidend ist. Wichtiger ist, ab Level 1 geeignete Datenstrukturen zu verwenden.

Unser Abschneiden beim CCC 2017

Generell war es für uns wieder ein Spaß beim CCC 2017 dabei zu sein (zum 3. mal nach ein paar Jahren Pause). Es ist eine tolle Möglichkeit, sich mit anderen zu messen und vor allem im Team sehr lustig. Dafür kann man auch mal einen Freitag Nachmittag „opfern“. Mit unserer Platzierung als sechst bestes Team von 32  (gesamt 23 von 87, nur Linz) sind wir zufrieden. Zum Abschluss von Level 7 fehlten uns vermutlich nur mehr 2-3 Minuten, da wir bereits 2 der 4 „Input-Files“ richtig gelöst hatten.

Es ist schwierig zu beurteilen ob wir als Einzelkämpfer besser oder schlechter abgeschnitten hätten, mehr Spaß macht es definitiv im Team und es zeigt sich immer wieder, dass „Pair-Programming“ durchaus von Vorteil sein kann. Zum einen fallen gewisse Fehler als Beobachter besser auf und zusätzlich fällt es oft leichter, schon einen Schritt weiter zu denken als wenn man selbst gerade Code eintippt. Gut möglich, dass wir beim nächsten Wettbewerb wieder am Start sind, dann vielleicht inklusive einem internen solvisten-Team-Wettbewerb.

Wir freuen uns über Kommentare von und den Austausch mit KollegInnen, die auch beim Contest teilnahmen.