SRU Rock logoRockTest

Programming Competition Management System


What is RockTest ?

RockTest is a collection of programs and related files to assist in the running and judging of computer programming competitions.

Why RockTest ?

The Computer Science Department at Slippery Rock University runs several computer programming competitions annually, for our own students, for high school students, and, occasionally, for intercollegiate competition. We learned (quickly!) that sneakernet ? was an ineffective method of program submission. We tried using PC^2, but it didn't meet our needs. Shell scripts can help automate the process, but are ugly and are limited in their ability to create a friendly environment for the contestants.


RockTest v. 2.0 Screenshots

Team's Console Team's Console
Setup Dialog
Judge's Console

Does RockTest solve all the problems of running and administering programming competitions?

No. See this old joke from Boys' Life magazine.

What does RockTest v. 2.0 do?

What tasks are not automated by RockTest ?

What bugs and limitations does RockTest have?

What's cool about RockTest?

Programming contestants like RockTest. After its first trial run, several students asked if they couldn't use RockTest as an IDE for coursework (rather than C++ Builder or Visual Studio). Students who had experienced programming contests using PC^2, sneakernet , and scripts found RockTest a much more satisfying experience.

RockTest solves all of the tough problems of running programming contests. RockTest names the students' files, so the contestants won't misname them. It decides where to store them, so the judges' program can find them. All data file access is through I/O redirection, so contestants' data file names don't have to match the judges' data file names. For the judges, programs are easily fetched, compiled, and run by RockTest. Judging turnaround is rapid.

RockTest accommodates multiple programming languages. Currently, it incorporates scripts to handle Bywater BASIC, C (gcc), C++ (g++), FORTRAN (gnu f77), Java (gcj or Sun JDK), PHP, Pascal (fpc), and Python. Contestants can even change programming languages between problems or even between submissions of a single problem.


What are the conditions under which I can use RockTest ?

RockTest is free software, licensed under the General Public License. In brief, this means that you may use RockTest for any purpose whatever, you may make as many copies of it as you wish, you have a right to obtain the source code from the person from whom you have obtained RockTest, you may distribute RockTest to others, but that any modifications you make to RockTest that you distribute to others must be covered by this same license. In addition, since I do not charge for RockTest, there is absolutely no warrantee. (Should there be conflicts between this summary and the actual text of the General Public License, the actual text prevails.)


Downloading RockTest

RockTest consists of several files, available separately or packed into a single archive. None of the files is very large; the three Python programs, rt_team, rt_judge, and rt_tabulate contain a total of about 3100 lines of code, about 115 kilobytes.

DescriptionFile NameFile Type
RockTest Gzipped archives rocktest_2.0.1.tgz
rocktest_1.3.tgz
rocktest_1.2.tgz
rocktest_1.0.tgz
Contains all v. 2.0 RockTest files.
Contains all v. 1.3 RockTest files.
Contains all v. 1.2 RockTest files.
Contains all v. 1.0 RockTest files.
Contestants' Console rt_team v. 2.0
rt_team v. 1.3
rt_team v. 1.2
rt_team v. 1.0
Python Code
Judges' Console rt_judge v. 2.0
rt_judge v. 1.3
rt_judge v. 1.2
rt_judge v. 1.0
Python Code
Tabulation Console
for RockTest v. 2.0
rt_tabulate v. 2.0 Python Code
Spreadsheet to
tabulate results
for RockText v. 1.0-1.3
rt_contest.sxc
rt_contest.xls
OpenOffice Calc XML or
Excel Spreadsheet
Submit Slip
for RockText v. 1.0-1.3
grade_forms.sxw
grade_forms.pdf
OpenOffice Writer XML or
Portable Document Format
HOWTO
for RockText v. 2.0
howto.odt
howto.pdf
Open Document Format XML or
Portable Document Format

The HOWTO tells you how to set RockTest up and start a contest. It contains instructions for the system administrator, contest master, judges, and tabulator.

The 2.0 HOWTO is in Open Document Format, which is readable by OpenOffice.org 2.0 and several other word processors. The submit slip and versions of the HOWTO prior to 2.0 are in OpenOffice 1.0 zipped-XML format. If you don't have OpenOffice.org, click on the link and get it--it's free, but large, and there are versions for Unix, Linux, Windows, and Macintosh. Otherwise, read the .pdf file with something like Kghostview or AcroArch.

Trying Rocktest?

Please let me know! Send an email to Dr. Conlon. Use the address at the bottom.


Go to:

SRU High School Computer Programming Competition home page

Professor Conlon's home page

SRU Computer Science Department home page

Slippery Rock University home page


Last modified: March 11, 2006

For more info, contact Michael P. Conlon, Ph.D.