Home

ICPC Tools logo

Github Slack

WARNING: We are in the middle of making massive code changes for the ICPC 46th and 47th World Finals. We would love feedback on whether the latest changes cause any regressions, but if you are running a live contest we strongly suggest you use v2.5.940 or earlier until we are able to test and release in May 2024.

Welcome to the ICPC Tools web page! This page contains a variety of tools implemented by the International Collegiate Programming Contest (ICPC) Tools Group, most of which were originally developed for use at the ICPC World Finals and have been adapted for use at other programming contests. These tools have been used to support a wide variety of programming contests including local contests at Universities world-wide, multiple ICPC Regional Contests around the world, and a number of ICPC World Finals.

All of the ICPC tools are designed to work together, and where applicable they are based on published ICPC standards. In particular, many of the tools are derived from and based on the specifications published under the auspices of the Competitive Learning Initiative as posted on the CLI Specification Website.

The Tools

Follow the links below to download any of the tools. Click on the “More information” link to get more information for each tool.

Contest Data Server

Single-point URL services for accessing contest data

Downloads:
Stable: CDS v2.4.727
Prerelease: CDS v2.5.1028
Documentation: PDF

More information

Resolver

Animated reveal of final contest results

Downloads:
Stable: Resolver v2.4.727
Prerelease: Resolver v2.5.1028
Documentation: PDF

More information

Presentation Admin

Remote administration of multiple presentations (requires CDS)

Downloads:
Stable: Presentation Admin v2.4.727
Prerelease: Presentation Admin v2.5.1028
Documentation: PDF

More information

Presentation Client

Animated display of scoreboard and other contest data

Downloads:
Stable: Presentation Client v2.4.727
Prerelease: Presentation Client v2.5.1028
Documentation: PDF

More information

Balloon Utility

Manages and prints which teams to award a balloon

Downloads:
Stable: Balloon Utility v2.4.727
Prerelease: Balloon Utility v2.5.1028
Documentation: PDF

More information

Coach View

Ability to remotely see the camera and desktop of a team

Downloads:
Stable: Coach View v2.4.727
Prerelease: Coach View v2.5.1028
Documentation: PDF

More information

Problem Set Editor

Generate/Edit YAML descriptions of problem sets for input to CLICS-compatible CCS's

Downloads:
Stable: Problem Set Editor v2.4.727
Prerelease: Problem Set Editor v2.5.1028
Documentation: PDF

More information

Contest Utilities

A variety of useful contest-related utilities: event feed checkers, floor map generators, submission extractors, and more!

Downloads:
Stable: Contest Utilities v2.4.727
Prerelease: Contest Utilities v2.5.1028
Documentation: PDF

More information

Last published stable tools update: 03 April 2022
Last published prerelease tools update: 16 April 2024

Disclaimer

The tools on this page are 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 these tools to be very useful in supporting a variety of common programming contest operations, and we think you will too; but we do not guarantee that they will do exactly what you want for your programming contest. All of the code has been written by and is directly under the control of the ICPC Systems Group, including that we take particular care to insure that there are no intentional bad things (malware) in them; however, neither ICPC nor its affiliates or volunteers make any guarantees at all regarding the code.

Contributing

The ICPC Tools are developed, tested, and maintained by a group of ICPC volunteers on GitHub. Bug reports, feature requests, and even just knowing what worked or didn’t for your contest are always appreciated. Pull requests are also welcome, but if you want to implement a big feature it might be best to first create an issue to discuss it.

To become a committer you must have a history of high quality bug reports, PRs, and be approved by the ICPC Tools team.

Community

A slack workspace exists to discuss anything and everything ICPC Tools related.

It can be found at https://icpctools.slack.com/. To join as a new member, use this link to sign up.

License

All of the tools are provided under the ICPC Software License license and are “Free as in Beer”. We welcome you to use and enjoy them, but if you ever run into anyone who has contributed to them - Tim, John, Nicky, Sam, Troy, etc. we would greatly appreciate it if you’d buy us a beer, a stroopwafel, or some other suitable token!

All ICPC Tools are Copyright © by the ICPC.