You may have recently heard some talk about Advent of Code - every developer's favourite advent calendar. In this article, I'm going to try and explain why everyone can get something out of it.
Jonathan Dönszelmann@jdonszelmann#AdventOfCode (Totally not guilty of this myself tweeting this at 6.35am)05:36 AM - 01 Dec 2020
What is Advent of Code?
Advent of Code is a website that sets daily challenges for each day of advent. The context for each challenge tells part of a story that spans the full 25 days.
Each day, you are presented with two problems that are designed to be challenging whilst remaining accessible to those without much programming experience.
Solving a problem rewards a gold star - to complete the challenge, you need to collect all 50 of them. Whilst this sounds simple, the challenges vary in difficulty (with an upwards trend as the event progresses).
What languages can I use?
You can use any language! None of the problems involve uploading your own code - you can solve all of them locally, and then copy/paste the answer into the submission box. You can even solve them with an esolang if you want a challenge!
Why should I be taking part?
Almost everyone has a reason to take part in this competition! However, the most compelling reason depends on where you are in your programming journey.
If you are just starting out
This is an opportunity for you to start using some of the basic skills you may have been learning. If your programming experience is limited to online courses or video tutorials, then AoC is a great way to practice applying your knowledge to solve problems by yourself. The story is a nice touch too!
If have been programming for a bit
Advent of Code is a great way to practice your problem solving skills. It can be used as an introduction to competitive programming - perhaps you might get a hobby out of it! At the very least, you can expect to improve your interview skills.
I would recommend timing yourself to see how quick you can solve the problems, and then try and compete with your friends / colleagues.
If are an experienced programmer
As you might have some competitive programming experience, you can take this challenge a little more seriously. If you are fast enough at completing them from when the challenge launches, you might even be able to make it onto the leaderboard!
Alternatively, you can take AoC as an opportunity to try and get some experience with that new programming language you have been eyeing for a while. I personally have chosen Go, because I want to be familiar with the syntax before experimenting with the various web frameworks that it offers.
Advent of Code is a great idea that can really get you thinking. It is on its sixth year now, and is continuing to grow. In fact, there was so much traffic on the first day this year that it brought down the servers!
You can get started at the following link: https://adventofcode.com/
If you enjoyed reading this, then consider dropping a like or following me:
I'm just starting out, so the support is greatly appreciated!
Disclaimer - I'm a (mostly) self-taught programmer, and I use my blog to share things that I've learnt on my journey to becoming a better developer. Because of this, I apologise in advance for any inaccuracies I might have made - criticism and corrections are welcome!
Top comments (9)
Sounds like a cool idea! I'll check it out.
100% agree. I'm on the more experienced side, so I'm stretching my brain a bit by doing it in COBOL. 😉
Wow, that seems painful. How's it going so far?
What languages are you using to complete the Advent of Code challenges? I've found Go to be quite verbose, but satisfying overall.
I love the people on the subreddit who do every year in Excel and other off the wall languages haha
So cool and such a fun idea!
Yeah, I'm surprised I hadn't heard of it before this year!