Every December, Eric Wastl creates an Advent calendar consisting of programming puzzles that are holiday themed. Every day, you get a 2-part puzzle, where the first part introduces a problem, and then the second part builds upon it. You can do it in any language of your choosing and there are people who do it competitively to get on the leaderboard of people who do it the fastest after it is released as well as people who are more casual.
This is the 5th year Advent of Code has been put on and I am participating once again. I would say for anyone who is just hearing about AoC, the problems vary in difficulty, but they can usually take anywhere up to an hour max (although the first few usually can be done in less than 10-15 minutes). As well, even though they can sometimes get into mathematical problems / Computer Science topics, it is built so if you may not know about something needed, the overview of each day will explain the problem fairly thoroughly and will give examples.
I will be posting the code that I use to solve them on my GitHub here: lannonbr/AdventOfCode2019. I do recommend trying the problems yourself before looking at solutions.
If you want to learn more, head over to adventofcode.com.