[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/ib4AX9UB)
:icons: font
:nofooter:

= Advent of Code -- 2024

In addition to our regular assignments covering new topics, you will also work on some of the Advent of Code puzzles to hone your algorithmic skills.

https://adventofcode.com/[Here is the link to the website], you can sign up e.g. with your GH account.

NOTE: Our school has an internal leaderboard (you got an email regarding that), so if you want to compete you may join that -- but it's not required

Here are the rules:

. You have to collect 12 Stars
** You can collect those doing any of this year's puzzles (e.g. day 1,2,18,20,23,24 or any other combination)
*** Mind, that difficulty increases over time
** You can either collect two stars per day or only one, as long as you get 12 in total
*** You can also mix an match, e.g. if the second part is too difficult on one day, you can substitute that by doing an additional day to earn that missing star
. You have time until the 31.12.2024
** I will check on the 01.01.2025
. Use the GitHub repository you were assigned via GH classrooms
** Put each day into a separate folder named e.g. `day-01`
. For each day hand in:
** Your puzzle input
*** Both for sample & actual (= full)
*** For both puzzles if you attempted both
** Your solution code
*** For both part 1 and part 2 of the puzzles if you attempted both, otherwise just part 1
** A *screenshot* of the AoC website showing the stars you collected and your username
. Make sure to commit (at least) every time you finished one puzzle of a day (so at least two commits per day if you do both puzzles)
. You _have_ to use C#
** And you should only use features we have already learnt -- the assignments are all solvable with just those!

TIP: As I said in class: when you get stuck there will be a lot of material online (e.g. videos, blog posts etc.) of various people _explaining_ how to solve the problems with different approaches => this is a great learning opportunity for you, because you get different explanations for the same problem and have a good chance of finding one that 'clicks' for you