This repository gathers all my solutions to Advent of Code, a series of daily programming puzzles published every December since 2015.
Each year has its own folder, tools, and language(s). I use Advent of Code as both a fun challenge and a way to explore different programming languages (mainly Rust and Python, sometimes via Jupyter Notebooks).
| Year | Language | Stars | Progress |
|---|---|---|---|
| 2015 | Rust 🦀 | 50 ⭐ / 50 | |
| 2016 | Rust 🦀 | 50 ⭐ / 50 | |
| 2017 | Rust 🦀 | 16 ⭐ / 50 | |
| 2018 | Not done yet ❌ | 0 ⭐ / 50 | |
| 2019 | Not done yet ❌ | 0 ⭐ / 50 | |
| 2020 | Python 🐍 | 30 ⭐ / 50 | |
| 2021 | Python 🐍 | 20 ⭐ / 50 | |
| 2022 | Python (Jupyter) | 12 ⭐ / 50 | |
| 2023 | Python (Jupyter) | 20 ⭐ / 50 | |
| 2024 | Python (Jupyter) | 23 ⭐ / 50 | |
| TOTAL | 221 ⭐ / 500 |
I first discovered Advent of Code in 2020, and since then I’ve made it a habit to take part every December.
At the time, while working full-time as a teacher, I only had a short amount of time each day — so I usually dropped out after a few puzzles (which clearly shows in the number of stars collected those years).
Since I started learning Rust as part of my return to software engineering, I’ve been using Advent of Code as a way to practice and improve.
I’ve therefore gone back to earlier editions (starting from 2015), and my long-term goal is to eventually solve all the puzzles, in Rust or other languages.
- See each year’s folder for specific instructions:
- Rust projects (2015, 2016, 2017) → use
cargo test (--release). - Python Jupyter projects (2022–2024) → open the notebooks in Jupyter.
- Python scripts (2020-2021) → run with Python 3.
- Rust projects (2015, 2016, 2017) → use