Advent of Code
Advent of Code is an annual set of Christmas-themed computer programming challenges that follow an Advent calendar.[1][2] It has been running since 2015.[3]
Advent of Code | |
---|---|
Status | Active |
Begins | December 1 |
Ends | December 25 |
Frequency | Annually |
Inaugurated | December 1, 2015 |
Founder | Eric Wastl |
Most recent | December 2022 |
Website | adventofcode.com |
The programming puzzles cover a variety of skill sets and skill levels and can be solved using any programming language. Participants also compete based on speed on both global and private leaderboards.[1]
The event was founded and is maintained by software engineer Eric Wastl.
History
Advent of Code was created by Wastl, who is still the sole maintainer of the project.[1][4]
The event was initially launched on December 1, 2015. By midnight EST (UTC−05:00), 81 people had signed up for the event, going slightly over Wastl's planned 70-participant capacity. Within 12 hours, about 4,000 people had joined, nearly causing a system crash. After 48 hours, there were about 15,000 people, and by the end of the 2015 event, the total had risen to 52,000.[5]
In 2020, perhaps due to the COVID-19 pandemic, the event saw a 50% growth in traffic, with over 180,000 participants worldwide.[5]
On December 4, 2022, Wastl announced that the project had reached 1,000,000 registered users.[6]
Puzzle design
Puzzles consist of two parts that must be solved in order,[7][8] with the second part not revealed to the user until the first part is solved correctly.[9] Participants earn one golden star for each part they finish, giving a possible total of two stars per day and fifty stars per year.[9]
Each puzzle contains a fictional backstory that is the same for all participants, but each person receives a different piece of input data and should generate a different correct result.[9]
Puzzles are released on a daily schedule from December 1 to December 25 at midnight EST. There is no time limit to complete the puzzles, and puzzles from past years' events remain available to solve.[4]
Some participants have used tools such as GitHub Copilot and ChatGPT to assist in solving the puzzles.[4] In 2023, Wastl requested that users abstain from using these tools until after the leaderboard has been filled for the day, stating that "the leaderboards are for human competitors".[10]
Preparations
According to a comment in the HTML code on each page of the event's website, Advent of Code runs using custom Perl code. Wastl claims to build almost the entire website himself, including the design, animations, prose, and puzzles. (He relies on other services for authentication, analytics, and social media integrations.)[1]
Each year, Wastl creates and tests the 25 puzzles in advance. This takes 4–5 months of work each year.[1]
References
- Wastl, Eric (2022). "About". Advent of Code. Retrieved December 10, 2022.
- Joyce, Kara E. (November 11, 2020). "Brain teasers and other fun tips for learning Python". SearchBusinessAnalytics. TechTarget. Archived from the original on November 12, 2020. Retrieved May 12, 2021.
- Speed, Richard (December 1, 2021). "On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy". The Register. Archived from the original on December 1, 2021. Retrieved December 5, 2021.
- Warren, Christina (December 9, 2022). The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more (Videotape). GitHub. Retrieved December 11, 2022 – via YouTube.
- Roberts, Siobhan (December 17, 2021). "This puzzle challenge brings joy to the world of code". MIT Technology Review. Retrieved February 20, 2022.
- Wastl, Eric [@ericwastl] (December 4, 2022). "#AdventOfCode just hit 🌟1,000,000🌟 registered users!!!" (Tweet). Retrieved December 10, 2022 – via Twitter.
- Gee, Sue (December 6, 2020). "Advent Of Code For Programmers". I Programmer. Archived from the original on December 6, 2020. Retrieved May 12, 2021.
- Fisher, Kenneth (December 3, 2020). "SQL Homework – December 2020 – Participate in the Advent of Code. from Blog Posts – SQLServerCentral". Packt Hub. Archived from the original on January 26, 2021. Retrieved May 12, 2021.
- Hjelle, Geir Arne (December 1, 2021). "Advent of Code: Solving Your Puzzles With Python". Real Python. Retrieved February 20, 2022.
- "About - Advent of Code 2023". adventofcode.com. Retrieved October 22, 2023.