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 ??.dd.gz
  • Use dd to image a flash drive: dd if=??.dd 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. EFI boot is not 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 '-insecure' image is icpcadmin, and this user has root (sudo) privileges.

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

To test all 13 language implementations run the following command which runs the solutions for eight ICPC style problems. This lasts several minutes and should produce columns of green "PASS"es. (Note: You may have to run this as the icpcadmin user as the firewall may block the contestant from accessing all of the necessary data files)

wget -O - https://ser.cs.fit.edu/testing/test.sh | /bin/sh
Icon  Name                             Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] 2015-10-22_image-i386.dd.gz 2015-10-22 17:21 2.6G [   ] 2015-10-30_image-i386.dd.gz 2015-10-30 16:11 2.6G [   ] 2015-10-26_image-i386.dd.gz 2015-10-26 08:54 2.6G [   ] 2015-10-29_image-i386.dd.gz 2015-10-29 11:00 2.5G [   ] 2015-10-29_image-i386-rev2.dd.gz 2015-10-29 16:08 2.5G [DIR] split/ 2016-04-15 09:08 - [DIR] horizon-view/ 2016-06-09 10:25 -

For Contestants

Software and Versions

The environment is loaded with just about every programming language you might want to use as well as some of the more popular IDEs and editors. See below for a list of available software and tools.

Compilers

Language Tool
Java javac/java
C gcc
C++ g++
Pascal fpc
Haskell ghc
C# mcs
Fortran gfortran
ADA gnat
Python 2 python2
Python 3 python3
Scala scalac/scala

IDEs/Tools

Tool Name Version
Eclipse 4.5(Codename Mars)
Eclipse PyDev 4.3.0.201508182
Eclipse CDT 8.7.0.201506070
(G)Vim 7.4.52
emacs 24.3.1
gedit 3.10.4
Atom 1.0.19
GNU Make 3.81
Monodevelop 4.0.12
Code::Blocks 13.12

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.

After the contest the firewall restrictions will expire and the system will have general access to the internet again.


For Admins

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. If you see anything in red there's probably an issue. If you're seeing all green passes you're all set.

Logging contestants in to DOMjudge

During the initial workstation set up the DOMjudge credentials are configured. When the team clicks on the login page in DOMjudge, there will be a button near the top that says "Log in using computer credentials". The team can click this button to be logged in to their assigned team. Manual login of teams is still possible

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 your team name, printer ip address settings, and DOMjudge credentials.

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.

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.