2. Contents
●
a) Initial Statements
– i. Overview
– ii. Motivation
– iv. Objective
●
b) Literature Survey
– i. Existing systems studying and drawback analyzing.
●
c) Analysis and Design
●
d)Implementation and Testing
●
e) Conclusion
3. Overview
This project “Open Judge” is a replacement for the software PC
2 (aka PCC or
Programming Contest Controller) developed by California State
University of Science, in 1989.
PC 2 (aka PCC or Programming Contest Controller) is developed first in 1989 in
DOS for
windows operating system. Over the last two decades, it had been updated, altered
with newer
features to cope up with expanding contest requirements. The last update occurred
in 2008,
which was in JAVA and required JRE (Java Runtime Environment) set up in the
operating system
to run it. Also, it is only available in Microsoft Windows operating system. It has many
more
drawbacks which will be mentioned later in this document.
4. Motivation
●
Programming Contest have been very popular over the world
through the last two decades
●
Number of contestants are rising overwhelmingly each year
●
Every university of the world which practices science, are now
participating.
●
Schools and high schools are now also concentrating on
programming contests for the junior students so that the early
introduction to programming can lead them to strong capability in
programming when they're going to represent their institutes in front
of the whole world.
●
These contests require a working 'system' that can manage the
contest timing, receive the submissions from the contestants,
compile the submissions and run them with judge inputs to get the
verdicts. It also needs to have a good ranking system which will
5. Objective
The purpose of Open Judge is to make it easy to arrange a programming
contest
with the smallest possible effort for everyone. It allows every institute to
arrange a programming contest in shortest notice imaginable.
So the main objectives are:
a) Using the web platform to build a contest controller with the help of
existing
compilers.
b) Allowing judges to set up their own problems and secret input/outputs.
c) Making it easy for the contestants to view the problems and submit.
d) Allowing it to be set up once and then used for unlimited times.
e) Allowing everyone to download and use it by making it open source and
free.
6. Literature Survey
Existing Contest Controllers
Currently, various contest controllers are available to use and some are also very
highly efficient and easy to use. We can list them as following:
a) PC 2 (aka PCC or Programming Contest Controller by California State University
of Science.
b) CodeMarshal, developed by Mahmudur Rahman, Muktosoft LTD.
c) LightOJ, developed by Jane Alam Jan, University of Dhaka.
d) Codeforces.
e) Codechef.
f) Topcoder.
g) UVA
h) ACM.hust.edu.cn
10. Testing
Testing can always be performed, not only after completing the
project but also in the middle of the project. This project has
been continuously tested in every new element or plugin
addition or removal.
Several types of test has been performed over the developed
system, among them the most important ones are:
a) Unit Testing
b) Stress Testing
c) Malfunction Testing
d) Security Testing