The MO Contest Environment a.k.a. MO-Eval is a simple system for conducting programming competitions similar to the International Olympiad in Informatics – a contest where the participants solve programming tasks, which are then evaluated off-line after the end of the competition. It's built in a modular way, so extending to other types of programming contests (e.g., to on-line contests like the ACM ICPC) should be pretty easy, but it hasn't been done yet.
We use this environment at the Czech Olympiad in programming (officially a part of the Mathematical Olympiad) since 2002 and also at the CPSPC (Czech-Polish-Slovak Preparation Camp) when it's held in the Czech Republic.
You can download the current release eval-1.0.1 or browse the archive of past releases.
Everything is also available in my FTP archive.
Since the last release, there were lots of changes, but they still wait for polishing and documentation. If you are interested, you can take a peek inside our pot:
Recently, I have published a short article on perspectives on automatic grading systems in Olympiads in Informatics. It mentions many of the ideas behind MO-Eval.
The environment runs under Linux on the i386 architecture. We currently use a slightly modified installation of Debian GNU/Linux, but it will happily work with any other Linux distribution with a 2.4 or newer kernel. The only dependecies on Linux and on i386 are in the sandbox module; porting to other architectures requires just minor changes, porting to other UNIX systems is probably hard. Outside of that, everything should run happily on almost any system providing a reasonable set of GNU utilities (especially bash) and Perl, possibly including MinGW or Cygwin on Windows.
MO-Eval has been written by Martin Mares. Great thanks go to Jan Kara, Milan Straka and Tomas Gavenciak for their help and for many fine ideas.
The MO-Eval package can be used and distributed under the terms of the GNU General Public License version 2.
All bug reports, suggestions and patches are welcome. Please mail them to mj@ucw.cz.