Programming Challenges

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.

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.