Here is a list of resources to hone your skill in solving algorithmic and mathematical challenges. Many of these sites host frequent contests which you can participate in.
| Link | PA | OJ | WC | AC |
|---|---|---|---|---|
| Project Euler | YES | YES | NO | NO |
| UVa Online Judge | YES | YES | NO | YES |
| Codeforces | YES | YES | YES | YES |
| TopCoder | YES | YES | YES | YES |
| Sphere Online Judge (SPOJ) | YES | YES | NO | YES |
| CodeChef | YES | YES | YES | YES |
| Light OJ | YES | YES | YES | YES |
| Timus Online Judge | YES | YES | NO | YES |
| SSU Online Contester | YES | YES | NO | YES |
| Tianjin University Online Judge | YES | YES | NO | YES |
| Google Code Jam | YES | YES | NO | YES |
| Internet Problem Solving Contest (IPSC) | YES | NO | NO | YES |
| Croatian Open Competition in Informatics (COCI) | YES | NO | NO | YES |
| USA Computing Olympiad (USACO) | YES | NO | NO | YES |
| International Olympiad in Informatics (IOI) | YES | NO | NO | NO |
| International Collegiate Programming Contest (ICPC) | YES | NO | NO | NO |
| ACM-ICPC Live Archive | YES | YES | NO | NO |
| Nordic Collegiate Programming Contest (NCPC) | YES | NO | NO | NO |
| HP CodeWars | YES | NO | NO | NO |
PA = Problem Archive, a site that has an archive of problems (sometimes from past contests).
OJ = Online Judge, a site that has the ability to judge solutions to their problems, either based on actual source code or output data.
WC = Weekly Contest, a site that frequently holds online contests, perhaps a couple of times a month.
AC = Annual Contest, a site that infrequently holds online contests, perhaps a couple of times a year.
There are a huge amount of site on the internet offering programming challenges. If you have one which is not on the list, feel free to let us know through the contact form.
