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.
My main reason for participating in the Advent of Code is to practice problem solving skills by develop algorithms (in Python).