I have been playing on projecteuler.net recently and I have to reccomend it as an awesome way to play with code.  If you ever feel envious of Dijkstra and the other "mathematician programmers" who wrote proofs and theorems while they programmed, this is a good place to dive into the math side of programming.

Sometimes I will rush through several problems in a row and just brute-force the solutions, but other times I get interested in a particular problem or stuck on a particular problem and I will end up spending a couple of hours reading wikipedia articles about various algorithms and mathematical proofs to help me solve a problem.

So if you love math head over to projecteuler.net.  If you hate math and love programming, this is a good place to start.