230 likes | 506 Views
Overview. What is the OWINF?Aspects of a Grading SystemHistoryRequirements and UsageFeaturesLive demo. what is it?. just another OIcompletely in Germanonline competition. categorization. . ContestSystem. Contestantwhat possibilities does the system offer?. Developereasy to readeasy to
E N D
1. OWINF Grading System Perspectives on Computer Science Competitions for (High School) Students
Tobias Polley, rrayst@owinf.de
January 24th, 2006
2. Overview What is the OWINF?
Aspects of a Grading System
History
Requirements and Usage
Features
Live demo
3. what is it? just another OI
completely in German
online competition six volunteers from BWINF Alumni und Freunde e.V.six volunteers from BWINF Alumni und Freunde e.V.
4. categorization “objectivity” meaning reproducability“objectivity” meaning reproducability
5. History successor of the system used at CEOI 2003 (Münster, Germany) and at our national training camps.
MySQL database
PHP web frontend
Filesystem for static data (tasks, graders, etc.)
Perl grading server and clients subversion, wiki, bugzillasubversion, wiki, bugzilla
6. System overview
7. Requirements Software Components:
one server
one database
multiple grading clients (at least one)
=> one computer is enough (theoretically), although objectivity as well as security is improved by separate grading clients
8. Requirements Hardware
Database: e.g. 70MB (for 1st OWINF)
Server: 512MB RAM
speed depends on usage requirements
Grading Client: 300MB RAM
all grading clients should be equal
speed is relevant for the timelimits contest-testcontest-test
9. Requirements Software:
Database: MySQL 5.x
Server and Clients: Java 1.5
Server: Ant, Tomcat 5.5.x
Client: Linux Kernel
Everything else you are planning to use:
Server (Reports): LaTeX, ConTeXt, ghostscript, metapost, zip
Server (Printing): a2ps
Client (Compilers): GCC, FreePascal
10. Installation Server:
Create a MySQL database and a user
Unzip Ant and Tomcat
Checkout our source code from Subversion
Set two environment variables
Create one configuration file containing
the MySQL hostname, user and password as well as
the directory where the checked out source code is.
Call build.sh (or build.bat)
Start Tomcat
11. Installation Grading Clients:
copy grading-client.jar from the server to the grading clients
install the root-it program as setuid root
Command Line Tools (CLT):
the same as the server installation
create a symlink called clt in your PATH (or copy clt.bat into it)
12. Data Model (simplified)
13. Live demo Administrator
Contest and Task creation (CLT)
Contestant
Submitting a program
Administrator
Observing the contest
Reports
14. Features all IOI task types supported (batch, reactive and output-only)
As the actual grading is done by user scripts (or programs), you can do anything you want:
E.g. syntax verification instead of compilation, etc.
15. Features multiple grading clients with a prioritized job queue
improves “responsiveness” of the system
allows large background jobs as complete (re)grading of a task or day without bad impact
16. Features web interface for the contestants is completely internationalized
allows easy switching of the language used in the web interface
The HTML page layout depends on the “style” which is a property of a Contest.
This allows you to change it easily (switch forth and back).
17. Features flexible report generation
choose report type
(e.g. score-table)
choose output format
(e.g. PDF)
adjust parameters
(e.g. “dont show scores of bottom x%”, x=50)
get report
use your own logos (style-dependent) on existing reports
18. Features flexible report generation
existing reports:
score overview table
detailed score reports
participation certificates for OWINF
password slips for contestants
19. Features Subversion integration
allows multiple persons to edit the same task without having us to worry about conflicts
provides the development history
User Registration
20. Getting it Closed source at the moment, but available to anyone who asks.
(Various reasons, we can discuss them later...)
No tarballs, but there are tags in the Subversion repository for “stable” versions.
21. The team Felix Arends
Dominic Battré
Hans-Christian Ebke
Jonas Müller
Julian Rüth
Tobias ‘rrayst’ Polley rrayst@owinf.de
#owinf on the IRCnet