SER ICPC Contest Image

All contestants will use a customized linux environment based on the current Ubuntu Long Term Support(LTS) release. This environment is optimized for booting off a usb flash drive, so no modifications to the computer hardware are required.

This is similar to the World Finals contest environment which is also conducted in a linux environment.

Installation

Installation is as simple as imaging a flash drive. Instructions for both Linux and Windows are provided.

Linux

  • Download one of the compressed image files below
  • Decompress the image: gunzip ??.img.gz
  • Use dd to image a flash drive: dd if=??.img of=/dev/sdx bs=1M
    • Make sure to replace /dev/sdx with your actual flash drive

Windows

  • Download one of the compressed image files below
  • Decompress the image using a tool such as 7zip
  • Use USB Image Tool to write the image to a flash drive

Testing

Once you have imaged your flash drive, it can be used in any x86-64 computer capable of booting from a usb drive. UEFI boot or regular BIOS booting are both supported. The hard drive of the system will not be changed and is inaccessible to the contestants.

No password is needed to log in as the contestant user. The password for the icpcadmin account on the 'generic' image is icpcadmin, and this user has root (sudo) privileges.

On the regular images this password will be distributed by your contest manager.

Name Size Description
generic-2024-01-26_image-amd64.img.gz 6.1G ICPC Generic Contest Environment
icpcadmin account password is icpcadmin
southeast-2024-02-15_image-amd64.img.gz 5.8G ICPC SouthEast Regional Contest Environment
midatlantic-2024-02-16_image-amd64.img.gz 5.7G ICPC MidAtlantic Regional Contest Environment
southcentral-2024-02-16_image-amd64.img.gz 5.7G ICPC SouthCentral Regional Contest Environment

For Contestants

Software and Versions

The environment is loaded with the programming languages and compilers that are used by the ICPC World Finals as well as some of the more popular IDEs and editors. See below for a list of available software and tools.

Compilers

Language Version
c11.3.0-1ubuntu1~22.04
c++11.3.0-1ubuntu1~22.04
java11.0.21
Language Version
python33.10.12
pypy37.3.9 (Python 3.8.13)
kotlin1.8.10-release-430

IDEs/Tools

Tool Name Version
Eclipse 2023-12 (4.30.0)
Eclipse PyDev 11.0.3.202310301
Eclipse CDT 11.4.0.202309142
(G)Vim 8.2.3995
emacs 27.1
gedit 41
GNU Make 4.3
Geany 1.38
neovim 0.6.1
IntelliJ IDEA 2023.3 (Community)
PyCharm Community 2023.3 (Community)
CLion 2023.3
Code::Blocks 20.03
Visual Studio Code 1.85.2

After The Contest

This contest image is designed to provide contestants with easy access to their work after the contest is over. Contestants can take the drive with them and boot it on their own machines to recreate the contest environment exactly. They can also copy files into the folder /mnt/usbdrive(or /home/contestant/usbdrive), which is a Fat32 compatible filesystem. In this way they can simply plug the flash drive in to any Windows/OSX/Linux machine and view the files directly.


For Admins

User Manual

There is a user manual that you should read: User Manual

Image configuration

Each workstation must be configured for each team with a few simple settings. The first time the environment boots it will run through a few prompts to set everything up. Just follow the prompts and everything will be configured. After configuration the system will run a self-test. Green is good, red is bad, but there are some cases where red is ok (e.g. days before the contest kattis may not load, so it'll be red; or if you choose not to configure printers)

Resetting after the practice round

After the practice round, it is important to reset all team workstations before the real contest begins. This is a simple process. Log the contestant user out on each workstation. Then log in as the Clear Team Account(teamreset) user using the same password as for the icpcadmin user. This will remove all files from the contestant user and reboot the machine. It will preserve the team id/name and printer ip address settings.

Misc Notes

Each contest machines joins a private vpn network on boot. This allows the contest technical director access to any machine remotely to apply updates/diagnose issues. If any issues are discovered during the practice round, it may be possible to push out a hotfix before the contest if attention is brought to the technical director in time.

Other tools

Logging in as the icpcadmin user is sometimes beneficial if you need to adjust various things. It's a full linux machine so you can do basically whatever you'd need to do.

Firewall notes

The firewall is configured to block the contestant user from accessing anything on the network except localhost. There is a squid proxy running that is configured by default and only allows access to certain restricted sites (e.g. kattis).

All other users/accounts have unrestricted access to the network. This allows for printing with cups or troubleshooting issues without having to remember to turn the firewall off or back on.