Advent of Code 2024: My Journey
December 27, 2024
Lorenzo Palaia
Software Engineer
Overview
The Advent of Code (AoC) is an annual programming challenge held every December, designed to offer a daily dose of fun, frustration, and fantastic learning. Created by Eric Wastl, this event features a new puzzle every day leading up to Christmas. Each puzzle is split into two parts, allowing participants to solve them in any programming language they prefer. It’s an excellent opportunity to enhance coding skills, explore new languages, or simply enjoy creative problem-solving. 🎄✨
Table of Contents
My Advent of Code Experience
This year, I approached Advent of Code with enthusiasm and determination. Competing in the Datapizza leaderboard—a startup of Italian developers—added a compelling social element to the challenge. Out of approximately 150 participants, I secured an impressive 10th place overall. 🌟
A personal highlight came on Day 16, where my submissions achieved global leaderboard rankings of 168th for Part 1 and 404th for Part 2. Considering my average positions over 25 days were 26,650.40 (Part 1) and 22,061.92 (Part 2), this was a standout achievement.
Tools of the Trade
I primarily relied on Python, thanks to its versatility and rich ecosystem of libraries. For added variety, I translated earlier solutions into Java, C, and JavaScript. This exercise deepened my understanding of different languages, highlighting their unique strengths and trade-offs. 🛠️
The Format: Strengths and Weaknesses
The Advent of Code’s format is undeniably engaging. The progressive difficulty ensures participants remain hooked throughout December. However, I see potential improvements in the ranking system.
Currently, points are awarded based on the time elapsed since the puzzle’s release, favoring speed. While this system incentivizes swift problem-solving, it can disadvantage participants based on their time zones. Puzzles release at midnight Canadian time, which translates to 6 a.m. in my time zone. This timing often benefits participants from the Americas over Europeans.
A Note on Cheating and AI
The timing-based ranking system aims to reduce cheating, but the rise of large language models (LLMs) challenges its effectiveness. Although LLMs have limitations in reasoning, they can provide significant assistance, raising questions about maintaining integrity in future events. 🤖
Final Thoughts
Participating in Advent of Code 2024 was a thrilling and enriching experience. The challenges pushed my problem-solving abilities to new levels, while the community aspect—especially within Datapizza—made the journey even more enjoyable. Despite my critiques of the ranking system, Advent of Code remains a highlight of my programming calendar.
I’m eagerly looking forward to next year’s edition and encourage anyone interested in coding to give it a try. Whether you’re a seasoned developer or a curious beginner, Advent of Code offers something for everyone. 🎅🎁