Advent of Code 2025
(adventofcode.com)- Advent of Code ist ein Adventskalender mit Programmierpuzzles für Programmiererinnen und Programmierer mit unterschiedlichstem Niveau und kann in jeder Sprache gelöst werden
- Teilnehmende können ihn für Bewerbungsgespräche, Unternehmensschulungen, Universitätsaufgaben, Übungsaufgaben und Geschwindigkeitswettbewerbe nutzen
- Auch ohne Informatikstudium kann man teilnehmen; die Aufgaben sind so gestaltet, dass sie selbst auf 10 Jahre alten Computern in unter 15 Sekunden laufen
- Die Website unterstützt OAuth-Authentifizierung, High-Contrast-Modus, private Leaderboards und die Auswahl von Codeblöcken
- Das weltweite Leaderboard wurde wegen Stress und Betrugsproblemen abgeschafft; stattdessen wird eine spaßige, teilnehmerzentrierte Lösungserfahrung betont
Überblick über Advent of Code
- Advent of Code ist ein jährliches Programmierpuzzle-Event von Eric Wastl, das ab dem 1. Dezember jedes Jahres Puzzles im Format eines Online-Adventskalenders bereitstellt
- Teilnehmende lösen jeden Tag ein neues Problem und können dafür ohne Sprachvorgaben jede Programmiersprache verwenden
- Die Aufgaben werden für Vorbereitung auf Bewerbungsgespräche, Ausbildung, Übung, Wettbewerb und gegenseitige Herausforderungen genutzt
- Für die Teilnahme sind keine Fachkenntnisse aus dem Informatikstudium erforderlich; grundlegende Programmier- und Problemlösungsfähigkeiten reichen aus
- Alle Aufgaben können selbst auf 10 Jahre alter Hardware in unter 15 Sekunden ausgeführt werden
Teilnahme und Unterstützung
- Wer Advent of Code unterstützen möchte, kann es auf Bluesky, Twitter, Mastodon teilen oder über AoC++ direkt fördern
- Wenn man beim Lösen nicht weiterkommt, werden Methoden wie Beispieleingaben prüfen, Testfälle schreiben, Freunde um Hilfe bitten oder im Subreddit nach Hinweisen fragen empfohlen
Allgemeine Tipps (General Tips)
- Wenn Beispiel-Eingabe und -Ausgabe nicht übereinstimmen, sollte man die Aufgabenbeschreibung erneut lesen und das Verhalten des Codes prüfen
- Ist die Antwort trotz bestandener Beispiele noch falsch, sollte man manuell überprüfbare Testfälle erstellen und kontrollieren
- Wenn es weiterhin schwerfällt, kann man eine Pause machen und es später erneut versuchen oder die Community fragen
Häufig gestellte Fragen (FAQ)
- Codeblock-Auswahl: Bei aktiviertem JavaScript kann mit Dreifachklick der gesamte Block ausgewählt werden
- Authentifizierung: Über OAuth ist die Anmeldung mit externen Diensten wie Reddit oder GitHub möglich; Zugangsdaten werden nur an den jeweiligen Dienst übermittelt
- Advent of Code speichert nur ID, Name, URL und Bild der Nutzer
- Schwierigkeitsverlauf: Während des Events steigt der Schwierigkeitsgrad schrittweise; die wahrgenommene Schwierigkeit hängt vom eigenen Kenntnisstand ab
- Zeitpunkt der Puzzle-Veröffentlichung: Die Veröffentlichung erfolgt um Mitternacht US Eastern Standard Time (UTC-5), weil dies eine für den Betreiber handhabbare Zeitzone ist
- Wer Wettbewerb möchte, kann über private Leaderboards regional gegeneinander antreten
- Lesbarkeitsprobleme: Ein High-Contrast-Modus wird unterstützt und kann in Firefox standardmäßig aktiviert werden
- Keine Puzzle-Vorschläge: Wegen urheberrechtlicher Fragen werden keine externen Puzzle-Ideen angenommen
- Bugmeldungen: Ist seit der Veröffentlichung eines Puzzles mehr als eine Stunde vergangen, haben es meist schon viele Nutzer gelöst, daher ist ein Bug eher unwahrscheinlich
- Bei Problemen wird empfohlen, zuerst im Subreddit nachzusehen
- Geschwindigkeitswettbewerb: Wer schneller lösen möchte, braucht zusätzliche Übung und Technik, aber wichtig ist, so teilzunehmen, wie es zu den eigenen Zielen passt
- Änderung der Event-Dauer: Nach 10 Jahren mit unverändertem Ablauf wurde das Ende auf die Monatsmitte vorgezogen, um die zeitliche Belastung des Betreibers zu verringern
- Abschaffung des globalen Leaderboards: Wegen übermäßigen Wettbewerbs und Problemen wie DDoS-Angriffen und Nutzerstress wurde es nach 10 Jahren eingestellt
- Stattdessen gibt es eine Freigabefunktion für private Leaderboards im Nur-Lesen-Modus
- Einsatz von KI: Die Puzzles sollen menschliches Denkvermögen stärken, deshalb wird der Einsatz von KI nicht empfohlen
- Zur Erklärung wird die Analogie verwendet: „Wenn jemand anderes für dich trainiert, wirst du selbst dadurch nicht stärker.“
- Keine Vervielfältigung von Inhalten: Advent of Code kann kostenlos genutzt werden, aber das Kopieren von Puzzle-Texten oder Eingabedaten ist untersagt
- Auch das Nachahmen von Website-Design oder Namen ist verboten
Credits
- Puzzles, Code, Design: Eric Wastl
- Beta-Tests: Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
- Community-Management: Danielle Lucek, Aneurysm9
- Teilnehmende: alle Nutzerinnen und Nutzer
Rechtliches
- Advent of Code ist eine in den USA eingetragene Marke; Design, Sprache, Stil und Konzept sind exklusives Eigentum
- Vervielfältigung oder Nutzung ohne ausdrückliche schriftliche Zustimmung ist nicht erlaubt
- Links oder Zitate zu den Puzzles sind frei möglich, auch im kommerziellen Kontext
- Advent of Code erhebt keinen Urheberrechtsanspruch auf den Lösungscode der Teilnehmenden
2 Kommentare
Ich hatte letztes Jahr auch ein bisschen mitgemacht … Ein Jahr vergeht wirklich wie im Flug ;_;
Hacker-News-Kommentare
Jedes Mal, wenn ich höre, dass man auch ohne Informatik-Hintergrund mitmachen kann, habe ich das Gefühl, dass das für Hobby-Programmierer in Wirklichkeit enttäuschend sein kann
Wenn mit „man kommt ziemlich weit“ gemeint ist, dass man 1–2 leichte Aufgaben lösen kann, dann stimmt das vielleicht, aber darüber hinaus wird es schwierig
Advent of Code ist jedes Jahr das Highlight im Dezember
Schade, dass das globale Leaderboard verschwunden ist, aber nachvollziehbar. Dass es dieses Jahr nur 12 Tage geht, gefällt mir auch, weil es den Druck reduziert
Ich würde empfehlen, nicht mit dem Ziel anzutreten, „zu gewinnen“, sondern einfach den Spaß am Problemlösen zu genießen
Ich liebe Advent of Code wirklich
Dass es dieses Jahr nur 12 Tage dauert, begrüße ich sogar. Zum Jahresende ist im echten Leben einfach zu viel los, deshalb habe ich letztes Jahr nur etwa die Hälfte geschafft
Großer Dank an alle Beteiligten
Ich habe Advent of Code dieses Jahr zum ersten Mal ausprobiert und es hat wirklich Spaß gemacht
Es ist ähnlich wie Project Euler, aber stärker auf Programmierung als auf Mathematik ausgerichtet
Teil 1 ist einfach, aber Teil 2 verlangt einen optimierten Ansatz, was es interessant macht
Die Abschaffung des öffentlichen Leaderboards ist vernünftig
Ganz abgesehen vom LLM-Thema war Wettbewerb außerhalb bestimmter US-Zeitzonen ohnehin unmöglich
Stattdessen wären weltweite Statistiken wie Lösungsraten nach Zeitzonen interessant
Es hat auch Spaß gemacht, auf YouTube Live-Coding-Videos dazu zu schauen
Ich freue mich jedes Jahr auf Advent of Code
Ohne den Stress eines Leaderboards nutze ich es lieber als Gelegenheit, eine neue Sprache zu lernen oder meine Fähigkeiten zu schärfen
Im Alltag bootstrappe ich nicht ständig eigene Projekte und implementiere auch nicht dauernd DFS, deshalb ist so ein Event gute Übung
Deshalb halte ich im Alltag mit Dingen wie Tests schreiben oder Dokumentation die Balance
Jedes Jahr verbessere ich ältere Aufgaben ein Stück weiter, um Effizienz und Lesbarkeit zu steigern
Ich freue mich, dass Advent of Code dieses Jahr wieder stattfindet
Beim Lesen der FAQ habe ich allerdings nicht ganz verstanden, warum man die Eingabedaten nicht veröffentlichen soll
Beim Puzzle-Text verstehe ich es, aber dass sogar die Eingaben privat bleiben müssen, finde ich schade. Trotzdem respektiere ich es, schließlich kann man kostenlos mitmachen
Sprachumfrage: Python und C++ werden am meisten genutzt, aber auch unter den Nischensprachen gibt es einige, die gut zu AoC passen
Die Idee ist, mal zu teilen, welche Sprachen sich gut eignen
Halb im Scherz löse ich manche Aufgaben auch in ASM für den Game Boy. In der Praxis nutze ich aber Clojure oder Python
Dieses Jahr baue ich einen Bytecode-Compiler. Für das Leaderboard nutze ich Go, und dank der Kompiliergeschwindigkeit wurde ich an Day 19 im Jahr 2022 Erster
Zum Beispiel löse ich Aufgaben, indem ich unendliche Listen erzeuge und sie durchlaufe, bis eine Bedingung erfüllt ist
Methoden wie
each_cons,permutationundprimesind bei AoC besonders nützlichWenn man sich vorher Utilities für 2D-Grids oder Parser vorbereitet, arbeitet man deutlich effizienter
Dieses Jahr will ich es mal mit Assembly (fasm) versuchen
Es könnte Spaß machen oder schmerzhaft werden, aber so oder so ist es ein Lernprozess
Das Leaderboard scheint nach dem AI-Automatisierungsboom im letzten Jahr verschwunden zu sein
Schade, aber es wirkt wie eine unvermeidliche Entscheidung
Wettbewerb war für mich ohnehin unmöglich, also hatte das globale Leaderboard nie viel Bedeutung