RockTestRockTest is a collection of programs and related files to assist in the running and judging of computer programming competitions.
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.
|
|
|
|
| Team's Console |
Team's Console Setup Dialog |
Judge's Console |
No. See this old joke from Boys' Life magazine.
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.
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.)
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.
| Description | File Name | File 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.
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.