PC^2 logo

PC² (the Programming Contest Control system, pronounced “P-C-squared” or sometimes just “P-C-Two” for short) is a software system designed to support programming contest operations in a variety of computing environments. PC² allows contestants (teams) to submit programs over a network to contest judges. The judges can recompile the submitted program, execute it, view the source code and/or execution results, and send a response back to the team. The system also supports an “automated judging” mode where judging is performed by software rather than by human judges.

The system automatically timestamps and archives submitted runs, maintains and displays current contest standings in a variety of ways, and allows the judges to retrieve and reexecute archived runs. It also provides a mechanism for contestants to submit clarification requests and queries to the judges, and for the judges to reply to queries and to issue broadcast bulletins to teams.

In addition, PC² supports contests being held simultaneously at multiple sites by automatically transmitting contest standing information between sites and generating a single contest-wide standings scoreboard at each remote site.

A wide variety of configurable options allow the contest administrator to tailor the system to specific contest operations. For example, the number of teams, problems, and languages in the contest; the scoring method being applied; which problems are handled by which judges; whether teams are automatically notified of the result of a submission; and the frequency of automatic scoreboard updates are all configurable. There are also mechanisms provided for editing the internal scoring database, and for recovering from various types of soft and hard errors. The system is designed to allow teams to use any language development tool which can be invoked from a command line and generates an executable file.

PC² was developed at California State University, Sacramento (CSUS),

Follow the links below to download PC²

Stable Release:    PC² version 9.9.0-6795.zip    PC² version 9.9.0-6795.tar.gz
Release Candidate:    PC² version 9.10.0-6952.zip    PC² version 9.10.0-6952.tar.gz
Nightly Build:    PC² version 9.11build-7002.develop.zip    PC² version 9.11build-7002.develop.tar.gz
Documentation:    Contest Administrator's Guide (PDF)

More information

See the PC² Wiki for more information about PC². See the PC² Developer’s page for information on how you can contribute to PC².

Last published stable release update: 30 November 2023
Last published release candidate update: 15 March 2024
Last published nightly build update: 08 July 2024


The software available through this site is provided free and “as is”, with the usual disclaimers: lack of guarantee of suitability for any particular purpose, no stated or implied responsibility for the results of their use, etc.

In other words, we find this system to be very useful for managing programming contest operations, and we think you will too; but we do not guarantee that it will do exactly what you want for your programming contest. All of the code in the public distributions po sted on our website is under the control of the PC² Development Team, and we take particular care to insure that there are no inten tional bad things (malware) in it; however, we make no guarantees at all regarding the code.

For further information see the file LICENSE.TXT in the PC² distribution.

PC² is Copyright © by the PC² Development Team.