In case you haven't seen it before...
*Advent of Code* is an Advent calendar of small programming puzzles for a
variety of skill sets and skill levels that can be solved in any
programming language you like. People use them as a speed contest,
interview prep, company training, university coursework, practice problems,
or to challenge each other.