I know I’m the last kid on the block to say that Project Euler is awesome, but Project Euler is awesome. It’s a set of really concise and well defined math/programming puzzles that start from basically Fizz Buzz and sloooowly ramp up the difficulty until things become fairly ridiculous. The neat thing is that all the puzzles are designed so that if you approach them right, they can be solved with less than one minute of compute time, so when you realize that your initial solution is O(N!N!N!…), there is still hope. As you solve each problem, you get access to a message board with spoilers for that problem, and it’s always fun to compare your 200 line C++ monstrosity to the 5 lines of C64 BASIC submitted by some guy in Belarus that finds the answer in .0000001 seconds.
For extra trendiness points they have gamified everything with levels and achievements. I’ve done 100 problems so far, which makes me a CENTURION.