Try Project Euler (projecteuler.net). It is a site of increasingly difficult math puzzle challenges, most of which require some programming to solve.
I have learned a lot of really great math by solving some of these problems (I haven't solved more than the beginner level so far).
I also had to do quite a bit of outside reading to solve some of them, while others can be solved in a just a few minutes.