I have recently come across a website that proposes a series of programming challenges throughout December, until Christmas. It’s called Advent of Code and this is the fourth year it runs this competition. Every day, a new challenge is made available, and each challenge has two parts. You only get the second part after completing the first. It does not matter what programming language you use for solving the challenge, nor how the code looks or how fast it executes. The only thing that matters is the result.
You score stars and also points if you are among the first 100 people to submit the correct result (100 points for the first, 1 point for the 100th). However, I don’t think this is that important. These challenges are a good opportunity to put your programming skills at a test, not necessarily racing against the clock. These are the kind of problems you see in speed contests, interviews, company training, university coursework, practice problems, etc. The other nice part of it is that the problems are built around a story, which this year is about Santa’s and his Elves detecting some anomaly into the time fabric as somebody is changing Santa’s history at 500-years intervals; your challenge is to assist them by time-traveling into the past, finding the responsible and saving the Christmas.
There is also a /r/adventofcode subreddit where you can discuss the challenges, post your own solutions or view others.
Good luck saving Christmas!