Informatik-Olympiade: Ein kurzes Lerntagebuch

Der 17-jährige Gymnasiast Joël Huber hat im Mai 2019 die Informatik-Olympiade an der Universität Bern gewonnen. In einem Lerntagebuch erzählt er, was er während der Olympiade gelernt hat – und weshalb ihn die Informatik immer mehr fasziniert.

30. August 2019

Erste Hürde: der Einsteiger-Workshop an der ETH Zürich

Wie an jeder Olympiade gibt es auch an der Wissenschafts-Olympiade mehrere Qualifikationsrunden, die man überstehen muss, um das Final zu erreichen. An die erste Hürde wage ich mich beim Einsteigerworkshop an der ETH Zürich am 20. Oktober 2018.

Als ich in Zürich eintreffe, bin ich erleichtert, unter den Teilnehmerinnen und Teilnehmern ein bekanntes Gesicht zu entdecken. Sollte ich aufgeschmissen sein, bin ich immerhin nicht ganz alleine, denke ich mir. Vor ein paar Wochen habe ich mich für den Kurs angemeldet. Ich kann zwar schon programmieren, weil ich gerne Spiele entwickle. Viel über Informatik weiss ich allerdings noch nicht und ich habe keine Ahnung, was mich bei der Olympiade genau erwartet.

Joël (rechts) mit zwei seiner drei Teamkollegen, die sich für die Internationale Informatik-Olympiade qualifiziert haben. Bild: Benjamin Schmid, Informatik-Olympiade
Joël (rechts) mit zwei seiner drei Teamkollegen, die sich für die Internationale Informatik-Olympiade qualifiziert haben. Bild: Benjamin Schmid, Informatik-Olympiade

Zum Glück lerne ich schnell die anderen Jugendlichen kennen. Wir lösen Aufgaben in Gruppen und haben viel Spass beim Spielen in den Pausen. Ich konzentriere mich auf das Entwickeln von Algorithmen. Leider muss ich schnell erkennen, dass ich davon nicht die geringste Ahnung habe. Ein Beispiel: Wir sollen herausfinden, ob es in einer Liste ein majorisierendes Element gibt − also ein Element, das mehr als die Hälfte der Liste ausmacht. Das Problem: Die Zahlen in der Liste können sehr gross werden. Ich kann also die einzelnen Elemente nicht einfach zählen und eine Liste führen. Wie ich später erfahre, kann dieses Problem mit verschiedenen Strukturen einfach umgangen werden. Aber als Anfänger weiss ich das noch nicht. Ich versuche es also mit sogenannten Stacks und einem guten Algorithmus. Ich scheitere. Doch die Lösung, die mir der Workshop-Leiter später erklärt, beeindruckt mich: Es ist ein simpler Algorithmus, der das Problem auf eine andere Art betrachtet und löst. Nach dem Workshop bin ich fasziniert und motiviert, mich weiter an den Aufgaben der ersten Runde zu versuchen.

Vorbereitung: Informatik-Lager in Sarnen

Zu meiner grossen Überraschung habe ich mich beim Einsteigerworkshop für das Lager in Sarnen vom 10. – 16. Februar 2019 qualifiziert. Es war nicht mein Ziel, die geplanten Skiferien zu streichen und eine ganze Woche in einem Informatiklager zu verbringen. Aber ich bin inzwischen so angefressen, dass ich mich schliesslich entscheide, doch nach Sarnen zu gehen. Ein wichtiger Grund für meinen Entscheid war, dass auch die Teams aus Rumänien, Israel und der Slowakei beim Lager mit dabei sind.

Während der Woche finden Vorlesungen mit unterschiedlichem Schwierigkeitsgrad statt. Ich beginne bei den Einsteigern, kann aber rasch zu den Fortgeschrittenen wechseln. Ein Thema, das wir behandeln ist die Binary Search. Im Prinzip geht es darum, in einer sortierten Liste ein bestimmtes Element zu finden. Ich lerne gleich zwei wichtige Dinge. Erstens: Man kann eine Vergleichsfunktion durch andere Funktionen ersetzen. Zweitens: Man soll sich immer vorstellen, was der geschriebene Code ganz genau macht. Ich stelle für mich eine weitere Regel auf: Ich will meinen Code so schreiben, dass ich ihn auch nach langer Zeit wieder durchlesen kann und genau verstehe, was er macht. Diese Grundregel hilft mir − seit ich sie formuliert habe, habe ich keine Schwierigkeiten mehr beim Umsetzen der Algorithmen.

Pause im Informatik-Lager in Sarnen. Bild: Informatik-Olympiade
Pause im Informatik-Lager in Sarnen. Bild: Informatik-Olympiade

Zweite Runde: Theorieprüfung an der ETH Zürich

Die zweite Prüfung der Olympiade steht an. Der Theorieteil findet am Samstagmorgen am 9. März 2019 in Zürich statt und dauert fünf Stunden. Wir müssen Käse kombinieren, Granatäpfel transportieren, Erz aus einer Miene fahren und Lichterketten steuern. Ich beginne mit der Käse-Aufgabe. Leider finde ich aber keine vollständige Lösung. Das Lichterketten-Problem verstehe ich nicht wirklich und auch meine Lösung zur Minenaufgabe ist alles andere als optimal.

Bleibt noch die Granatapfel-Aufgabe: Gegeben ist ein Netzwerk aus Strassen, über die man nur fahren kann, wenn das Gewicht des Lastwagens kleiner ist als ein (pro Strasse individueller) Wert. Ich muss herausfinden, wie viele Granatäpfel der Lastwagen von A nach B bringen kann, wobei er nicht zu lange brauchen darf. Von allen vier Aufgaben finde ich diese am einfachsten – ich habe rasch einen Lösungsansatz: Gewichte ausprobieren und herausfinden, wie lange man braucht, wenn man nur die Strassen nimmt, die das jeweilige Gewicht erlauben. Ich finde aber das optionale Gewicht nicht effizient heraus. Doch da erinnere ich mich plötzlich an die Lesung in Sarnen: Man kann Binary-Search verwenden, um eine optimale Lösung zu finden. Schnell überprüfe ich das Nötige − und tatsächlich, ich kann es anwenden! Hastig muss ich so vieles durchstreichen und zwischen den Zeilen ergänzen, dass ich dem Korrigierenden in Gedanken viel Glück beim Entziffern wünsche! Und tatsächlich schaffe ich es in die nächste – es ist die letzte – Runde der Wissenschafts-Olympiade.

Es gilt ernst: Finale an der Universität Bern

Am 17. Mai 2019 ist der erste grosse Finaltag. Dank meiner guten Leistung bei der praktischen Prüfung der 2. Runde habe ich mich fürs Finale qualifiziert. Ich hatte in den letzten Wochen sehr viel trainiert und war sogar in einem weiteren Lager in der Slowakei dabei. Ich fühle mich gut vorbereitet und freue mich auf das Finale. Es besteht aus vier Prüfungen an zwei Wochenenden, einmal bei Siemens in Wallisellen und einmal an der Universität Bern.
Ich denke immer wieder daran, dass ich es vielleicht an die Internationale Olympiade schaffen kann. Dann sage ich mir aber sofort, dass mir noch die Erfahrung fehlt. Dass ich noch nicht lange genug dabei bin und deshalb meine Chancen eher gering sind. Ich setze mir das Ziel, besser zu sein als Achter. Aber eine Stimme in meinem Kopf sagt mir immer wieder: Die Internationale Olympiade ist machbar. Kurz vor dem Contest verscheuche ich alle Gedanken. Ich leere meinen Kopf, singe innerlich eine Melodie und dann höre ich: «Contest has started».

Joël beim Lösen der Finalaufgaben. Bild: Informatik-Olympiade
Joël beim Lösen der Finalaufgaben. Bild: Informatik-Olympiade

And the winner is…

Ich kann es kaum glauben: Nach den letzten beiden Finaltagen an der Universität Bern halte ich am 25. Mai 2019 eine Goldmedaille in den Händen − mein Ticket an die Internationale Informatik-Olympiade! Dass ich es gleich in meinem ersten Teilnahmejahr schaffen würde, hätte ich nie geglaubt. Hätte mir das jemand am Tag des Einsteiger-Workshops gesagt, ich hätte ihn für verrückt erklärt. Ich habe in diesem Jahr sehr viel gelernt. Aber es gibt noch viel, viel mehr zu lernen.

WISSENSCHAFTS-OLYMPIADE

Die Wissenschafts-Olympiade fördert neugierige Jugendliche, weckt wissenschaftliche Begabungen und Kreativität und beweist: Wissenschaft ist spannend. Neun Olympiaden organisieren Workshops, Lager, Prüfungen sowie Wettbewerbe für über 4'000 Talente in Wissenschaft und Technik. Die besten Nachwuchstalente reisen für die Schweiz an die internationalen Wissenschafts-Olympiaden.

Mehr zur Wissenschafts-Olympiade und zur Informatik-Olympiade: science.olympiad.ch und soi.ch.

Zum Autor

Der Thalwiler Joël Huber ist 17-jährig und besucht die Kantonsschule Freudenberg in Zürich. Mit der Goldmedaille bei der Schweizer Informatik¬-Olympiade qualifizierte er sich für die Internationale Olympiade, die vom 4. bis 11. August 2019 in Baku, Aserbaidschan stattfand. Dort wurden Joël Huber und sein Teamkollege Nicolas Camenisch für ihre herausragende Leistung mit einer Bronzemedaille ausgezeichnet.

Oben