Software for submitting and testing programming assignments
The open-source web program CMS (Contest Management System) was created by people at my university (CS institute, university of Pisa). Screenshots here.

It has been used also in the international informatics Olympiad and several other international programming contests, so it is mature and well tested.

It is in use since a few years in the undergraduate course on Algorithms in our CS degree. It allows students to submit their source code online, where it is executed in a sandboxed environment and scored automatically on the basis of some test cases. It supports out of the box C, C++, Java, Python, Pascal, PHP, and other languages can be added (although I don't know how easy it is).