Miles Watson
Posted on • Edited on
#adventofcode #algorithms
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.
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.
Conclusion
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/
Footnote
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)
Subscribe
Alex Booker
Alex Booker
-
Location
London, United Kingdom
-
Education
None
-
Pronouns
he/him
-
Work
Content creator who codes @ Clerk | Host of the Scrimba Podcast
-
Joined
• Dec 3 '20 • Edited on Dec 3 • Edited
- Copy link
You should also check out 24 days of #JavaScriptmas by Scrimba if you’re looking for something more JavaScript and front-end oriented.
Side note: each day, we’re giving away annual Scrimba membership to a random participant from that day then, on Christmas eve, we’ll pick a random submission/Tweet with #JavaScriptmas hashtag to win $1,000 cash. In other words, the more solutions you submit, the greater your chance to win 💵
Miles Watson
Miles Watson
Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.
-
Location
Wiltshire, UK
-
Education
Student at University of Cambridge
-
Work
Software Developer
-
Joined
• Dec 5 '20
- Copy link
Sounds like a cool idea! I'll check it out.
Anna
Anna
A fraction of me is irrational.
-
Education
Master's degrees in CS and math, University of Warsaw
-
Work
Lead Frontend Developer
-
Joined
• Dec 3 '20
- Copy link
100% agree. I'm on the more experienced side, so I'm stretching my brain a bit by doing it in COBOL. 😉
Miles Watson
Miles Watson
Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.
-
Location
Wiltshire, UK
-
Education
Student at University of Cambridge
-
Work
Software Developer
-
Joined
• Dec 5 '20
- Copy link
Wow, that seems painful. How's it going so far?
Anna
Anna
A fraction of me is irrational.
-
Education
Master's degrees in CS and math, University of Warsaw
-
Work
Lead Frontend Developer
-
Joined
• Dec 5 '20
- Copy link
Miles Watson
Miles Watson
Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.
-
Location
Wiltshire, UK
-
Education
Student at University of Cambridge
-
Work
Software Developer
-
Joined
• Dec 2 '20
- Copy link
What languages are you using to complete the Advent of Code challenges? I've found Go to be quite verbose, but satisfying overall.
ItsASine (Kayla)
ItsASine (Kayla)
Azure DevOps and git admin with a weird interest in résumés and portfolios 🎉Lawful Neutral
-
Email
dev@itsasine.dev
-
Education
Master's in Applied Mathematics
-
Work
DevOps | CI/CD | Release Engineer
-
Joined
• Dec 4 '20
- Copy link
I love the people on the subreddit who do every year in Excel and other off the wall languages haha
Christopher Wray
Christopher Wray
-
Email
chris@sol.company
-
Location
Pasco, WA
-
Education
Western Governors University
-
Work
Senior Software Engineer at Soltech
-
Joined
• Dec 4 '20
- Copy link
So cool and such a fun idea!
Miles Watson
Miles Watson
Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.
-
Location
Wiltshire, UK
-
Education
Student at University of Cambridge
-
Work
Software Developer
-
Joined
• Dec 5 '20
- Copy link
Yeah, I'm surprised I hadn't heard of it before this year!
For further actions, you may consider blocking this person and/or reporting abuse