If you haven't seen it before, check out https://projecteuler.net/ which is a series of (very) loosely connected programming challenges.
The challenges start mostly bite-sized and typical programming problems (think fizzbuzz or "what is the 100th prime") and grow into some really interesting areas. You use whatever language(s) you wish, with no time limit, and are free to skip around to whichever questions interest you (or just do them in order... whatever you like)
I find it fun. You might too.