ผลต่างระหว่างรุ่นของ "An Online Programming Judge System"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
แถว 5: แถว 5:
 
* <b>Ruby on Rails</b> for the web interface.
 
* <b>Ruby on Rails</b> for the web interface.
  
== Design ==
+
== Programming Problem Specification ==
 +
A programming problem is specified a collection of files contained inside a directory. The structure of the director is as follow.
 +
<problem_id>/
 +
    public_html/                --- All the files that the user can see and download via the Internet.
 +
        index.html              --- The problem statement.
 +
    test_cases/                --- Contains all test data.
 +
        all_test.cfg            --- A configuration file for all the test data.
 +
        <test_number>/          --- Contain files related to a particular test data.
 +
            test.cfg            --- A configuration file specific to this test data.
 +
            <other files #1>
 +
            <other files #2>
 +
                  .
 +
                  .
 +
                  .
 +
    script/
 +
        compile                --- A shell or ruby script that compiles a source code.
 +
        run                    --- A script that runs and grade the programming solution.
 +
        grade                  --- A script that collects information from various runs and tally the points.
 +
 
 +
== Compile Script ==

รุ่นแก้ไขเมื่อ 08:33, 19 กันยายน 2550

This page chronicles the design of an online programming judge system. The system consists of a web interface that allows user to view problems, submit solution programs, and view reports on how the programs performed. This document also includes a specification of the grading process and how to specify programming problems.

Candidate Tools

  • Ruby as glue.
  • Ruby on Rails for the web interface.

Programming Problem Specification

A programming problem is specified a collection of files contained inside a directory. The structure of the director is as follow.

<problem_id>/
    public_html/                --- All the files that the user can see and download via the Internet.
        index.html              --- The problem statement.
    test_cases/                 --- Contains all test data.
        all_test.cfg            --- A configuration file for all the test data.
        <test_number>/          --- Contain files related to a particular test data.
            test.cfg            --- A configuration file specific to this test data.
            <other files #1>
            <other files #2>
                 .
                 .
                 .
    script/
        compile                 --- A shell or ruby script that compiles a source code.
        run                     --- A script that runs and grade the programming solution.
        grade                   --- A script that collects information from various runs and tally the points.

Compile Script