For all you guys who keep asking about how to practice your programming skills, heres the answer!: http://www.topcoder.com
Its an online software competition hosting website, where they have timed events and a point system determines your overall ranking. The 'arena' has all the people competing and an editor which has built-in compilation and testing features. Languages used are Java, C++, Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET.
The above is only for the algorithms competitions but there are quite a few other categories which might interest you:
# Copilot Opportunities
# Component Design
# Component Development
# Test Scenarios
# Test Suites
# UI Prototype
# RIA Build
# Bug Race
I believe there are categories for designers as well but I haven't looked into it too much. Do check it out. You can also choose to represent Pakistan and some competitions have cash prizes!