uva online judge programming challenges

UVa contains hundreds of programming problems. They are like the ones used during programming contests, and are available in HTML and PDF formats. You can submit your sources in a variety of languages.

kattis programming challenges

Kattis is like UVa in many ways, but with a much more modern user-interface. Despite this, I have a preference for UVa because their problems are all in pdf format.