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
Screenshot of the 2020 event page
StatusActive
BeginsDecember 1
EndsDecember 25
FrequencyAnnually
InauguratedDecember 1, 2015 (2015-12-01)
FounderEric Wastl
Most recentDecember 2023 (2023-12)
Websiteadventofcode.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

edit

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

edit

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 are awarded a silver star for completing the first part of a daily puzzle, and a gold star after completing the second.[10]

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".[11]

Preparations

edit

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 built 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

edit
  1. ^ a b c d e Wastl, Eric (2022). "About". Advent of Code. Retrieved December 10, 2022.
  2. ^ 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.
  3. ^ 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.
  4. ^ a b c Warren, Christina (December 9, 2022). The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more (Videotape). GitHub. Retrieved December 11, 2022 – via YouTube.
  5. ^ a b Roberts, Siobhan (December 17, 2021). "This puzzle challenge brings joy to the world of code". MIT Technology Review. Retrieved February 20, 2022.
  6. ^ Wastl, Eric [@ericwastl] (December 4, 2022). "#AdventOfCode just hit 🌟1,000,000🌟 registered users!!!" (Tweet). Retrieved December 10, 2022 – via Twitter.
  7. ^ Gee, Sue (December 6, 2020). "Advent Of Code For Programmers". I Programmer. Archived from the original on December 6, 2020. Retrieved May 12, 2021.
  8. ^ 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.
  9. ^ a b Hjelle, Geir Arne (December 1, 2021). "Advent of Code: Solving Your Puzzles With Python". Real Python. Retrieved February 20, 2022.
  10. ^ "Stats - Advent of Code 2023". Advent of Code 2023 - Stats. Retrieved December 8, 2023.
  11. ^ "About - Advent of Code 2023". adventofcode.com. Retrieved October 22, 2023.
edit