I recently have joined Project Euler, introduced through a friend an co-worker Linh Vu. A simpler, more mathematics oriented top coder (for the TC fans out there), Project Euler is defined as "a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve." The problems increase in the level of complexity starting from simpler ones like "Add all the natural numbers below one thousand that are multiples of 3 or 5." to building bozo sort or a A Kempner-like series. The site keeps track of your progress and you can make friends on the site, via a guid like key. Yes, that's social networking the nerd way. Here is my key "friend key". 49113135298912_6fda96436085285581e71ee6fb83e3c9
Try it out. http://projecteuler.net/