Advent of Code 2020, a Primer
Posted on 29th November 2020
What is Advent of Code?
Advent of Code is a series of programming challenges released from the 1st to the 25th of December. Challenges start very easy and quickly increase in complexity. It’s a worldwide challenge with hundreds of programmers taking part each year.
Our members often use AoC as an excuse to learn a new programming language, since the difficulty ramp is quite reasonable, and there’s no stakes if you get stuck. Since everyone is taking part to solve the same problem without any prizes on the line or the looming threat of plagiarism, there’s usually plenty of collaboration and knowledge sharing.
We have a private leaderboard so people can show their progress if they choose. While its possible to sort the leaderboard by completion time, don’t think of it as a competition! Whilst the challenges release at 5am at the UK, we don’t recommend wrecking your sleep schedule for a month over a bit of fun.
How do I Join?
You can create your account at https://adventofcode.com/, then join our private leader-board by navigating to the Private Leaderboard tab under Leaderboard and then entering the code 316574-f9ecaa5c.
When the competition starts, we’ll mostly be talking about it on our Discord on the #advent-of-code channel. Please feel free to ask for advice whenever you like!
Anything Else I Should Know?
- Each day you will receive your problem’s input as a text file on a web page. If you’re planning on using a new language, it’s recommended that you learn how to parse strings in that language ahead of time to save yourself headaches later. You can hard-code your inputs if you’d like, but later days have very large inputs!
- Each challenge will come with some example inputs with matching outputs. We recommend making sure your solution can solve them. They tend to cover some odd edge cases that could otherwise make debugging your solution a pain!
- The problems from the last few years of Advent of Code are available on the website. Feel free to try and solve some to get your bearings.
- We recommend saving all your solutions for a year on a git repository, with your choice of online repository (e.g. Github, Gitlab). That way, you can easily share your code online if you wanted some help with debugging.
- You might find yourself wondering why everyone in the channel is very angry about elves. Advent of Code has this silly narrative that strings the puzzles together. Most of which is untangling the bizarre and needlessly complex inventions of Santa’s elves. Previous challenges include parsing a programming language based entirely on integers, debugging the least OSHA-compliant mine cart railway in the world, and helping the elves survive a goblin war.