openOliIntroductionOlympiads in informatics are computer science competitions, where contestants are to solve problems of an algorithmic nature. Usually there is some input data in problem, and contestants should construct an algorithm. After applying this algorithm to input data they have to get some output data that suites conditions described in problem. There is also a story background in problem text. Analyzing it contestants will get some additional information, required for getting solution of the problem.
The solution is source file on some programming language that implements algorithm that processes input data and gets correct output data. Languages usually used at this olympiads are Pascal, C, C++ and Java.
There are also some conditions for memory usage and working time, output size limit described in problem.
Since all process is going on a computer, it is possible automate the checking process. And this is the key task for openOli. Another use-case for openOli is to use it's Engine for building an online judge, to create internet-based training for contestants.
openOli consists from web-based client-side interface, which works from web browsers like Mozilla Firefox, Google Chrome, Opera, Internet Explorer and others and it can use any OS, and server-side which processes all incoming data from contestants. Server-side has to run a GNU/Linux OS. For now, openOli is tested to work with openSUSE distribution of this OS.
Olympiads in informatics are to form highly skilled programming professionals, and we hope openOli will help in such important mission.