Advent of Code is a yearly programming challenge developed by Eric Wastl.
From the site:
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.
I started this challenge as a way to improve upon my problem solving skills (and to have fun)!