Advent of Code
By Eric Wastl
Advent of Code is an annual online programming event, released as a daily series of coding puzzles each December, that developers can solve using any programming language.
Definition
Advent of Code is an annual online programming event, released as a daily series of coding puzzles each December, that developers can solve using any programming language.
Overview
Created by Eric Wastl, Advent of Code began in 2015 and has run every December since, releasing one new two-part puzzle per day from December 1st through December 25th, styled loosely around an Advent-calendar and holiday narrative. Puzzles are language-agnostic — participants submit only their numeric answer, not code — so solutions can be written in Python, JavaScript, or any language of the participant's choosing, which has made it a popular vehicle for learning a new language through practical, self-contained problems. Difficulty typically increases through the month, starting with beginner-friendly puzzles and progressing toward problems that require more advanced algorithmic thinking, data structure knowledge, and sometimes significant runtime optimization. Each day's puzzle awards up to two stars (one per part), and the event has built a strong community culture around comparing solutions, discussing approaches on forums like Stack Overflow and Reddit, and informal private leaderboards among friends or coworkers. Unlike interview-prep platforms such as LeetCode, Advent of Code is run as a free, seasonal community event rather than an ongoing commercial product, and its puzzles tend to reward creative problem-solving and storytelling engagement as much as raw algorithmic efficiency.
Key Features
- Created by Eric Wastl, running annually since 2015
- One new two-part puzzle released daily from December 1 to 25
- Language-agnostic — any programming language can be used
- Difficulty generally increases as the month progresses
- Free, community-driven seasonal event rather than a commercial product
- Supports private leaderboards for friendly competition among groups
- Popular as a way to learn a new language through practical puzzles
Use Cases
Frequently Asked Questions
From the Blog
How to Install Python and Set Up VS Code (Step by Step)
A comprehensive guide to how to install python and set up vs code (step by step) — written for learners at every level.
Read More ProgrammingTesting Python Code with pytest: A Beginner's Guide
Untested code is legacy code from the moment it's written. This guide explains how to write effective Python tests with pytest — from your first test function through fixtures, parametrize, mocking, and measuring coverage.
Read More ProgrammingGit and GitHub for Beginners: A Complete Guide
Git tracks your code history; GitHub hosts it — learn the essential version control workflow every developer uses.
Read More ProgrammingPython Functions Explained for Beginners
Functions are named, reusable blocks of code — learn to define them, pass arguments, and return values.
Read More