NCPC site HOWTO
Unfortunately this page is a bit out of date. We plan to update it.
- Contact the NCPC director Fredrik Niemelä
<firstname.lastname@example.org> and announce your interest.
- Get familiar with team registration procedures (see below).
- Get help needed during competition (judges etc). Might be zero extras on
a small site.
- Reserve computer lab for the competition day (usually the first Saturday in October).
- Check that room is accessible, and that lights and ventilation will work
during the competition.
- If necessary, create system user accounts before contest, and print
user-names and passwords to hand out.
- Get familiar with the Kattis system, which will be used for submitting
problems in the contest
(Instructions for the Kattis contest system,
A Kattis tutorial).
- Optional: Organise practice session.
- Optional: Get balloons.
- Optional: Order food.
- Optional: Buy prices.
- Check if department will sponsor trip to the regionals for winning
- Optional: Announce the contest during lectures in relevant courses.
- Optional: Put up posters.
- Advance winner to regionals.
First of all, you need to tell the national organiser that you are interested
in hosting the contest at your school or university.
If you think you are going to have more than just a few contestants, you
should probably get some people to reserve the day for helping out. If there
are 20 teams, you will not have time to process their submissions, serve them
pizza, and fix the minor problems that surface all by yourself.
Reserving a computer lab
You should reserve a computer lab for the contest. Make sure that
all contestants have access to the lab, and that lights and
ventilation will be on at the time of the contest. Make sure that
the computers in the lab have all the needed software. It is
important to try to match the versions of compilers used by Kattis
as much as possible (Kattis techinfo).
- Make sure you have an account at
- If you don't have an account created after april 2008 you need to
register yourself at
- With your personal account you will be able to register/admin your
teams as coach. But you will also be able to manage your sites if you
are a site director using the same account.
- Registration is done using the ICPC registration system.
- The teams register themselves and you as the site director
only need to approve them. To approve a team you log on to the
and go to the site director part (under contests in the
dashboard). You have site director access if the NCPC director
has given you one. Choose "reservations", and mark teams as
- A few days before the contest the contest director will send
out a request for all non ICPC-eligible teams to inform the
contest directors about it.
Advertising the contest
How much should advertise the contest depends on how much effort you are
willing to put into it. Even though the contest is already established and
well known among some, one of its main goals is to promote the interest in
programming among all students.
Your can ask lecturers in introductory programming courses, and especially
in courses focused on algorithms, to give you five minutes to introduce the
contest. You could perhaps solve an example problem.
If there are e-mail lists for students at your department, you could use
these. Think of what faculties are relevant (computer science, electrical
engineering, math, and so on). If you are unsure, ask the administration at
your department what lists you may use.
It might also be good to put up some posters. Ask your national organiser
if he has any, or make some yourself.
Remember to tell:
- When is the contest.
- Optional: When is the warm-up round.
- Where will the contest be held.
- Who are allowed to compete.
- Who are qualified to compete (anybody who have taken an introductory
programming course, or have equivalent skills).
- Whether food will be served during the contest.
- Optional: What the local winners will receive (prizes, trip to
- Where to find more information.
Practice Session (Optional, but recommended)
This should be skipped only if you organise a small site.
Many sites have a practice session a week or so before the contest. It is
good both for the students and for the organisers. The easiest is to pick a
problem set from one of:
Remember to reserve the computer lab for the practise session also.
In ACM ICPC contests, it is common that each team get a balloon for each
task they solve. The balloons are put up at the teams working place. Each
task correspond to a balloon of a different colour. If possible, get
balloons filled with helium. At a large site, you need one person just for
delivering the balloons. Kattis supports output for balloons, but it is also
advisable to keep paper documentation, especially regarding which team is
located where, and which team already got balloon for what).
Balloons are not mandatory.
If you can get funding, either from your department or the national
organisation, it is a good idea to serve some food either during or after
the contest. The easiest and cheapest is probably to buy coke at a
supermarket and have pizza delivered. If you serve the pizza during the
contest, check whether you are allowed to eat at the computers in the lab.
If not, check if there is somewhere close and accessible they can consume
their pizza. The easiest is maybe to serve the food after the contest, when
you go through the problems, give out prices etc.
Remember to keep receipts for all expenses.
Prices for the best local teams are not mandatory. Ask if your department
can fund it. A good option is books on programming and related topics.
If you want to, you could also make diplomas for the contestants.
The contact with media is usually handled by the national coordinator, but
if your department is interested in the publicity, it is a good idea to
notify the local media about the contest.
The on-line automated judge system Kattis is used to run (judge) the contestants' programs (submissions).
Each contest is a single site on Kattis with a unique link. For example NCPC 2019 had the link https://ncpc19.kattis.com.
More information about how Kattis works can be found on the help page.
The site director will get accounts for all the contestants the day
before the contest. The site director will also get 5 extra accounts
for last minute teams.
During the contest
Instructions regarding the competition day:
- Make sure that each contestant account is reset and only contains
the sample input and output for all problems (will be distributed
with the problem set tomorrow). I suggest you create one directory
for each problem. At each work station place three copies of the
problem set in an envelop.
- Read the rules and inform the contestants before the competition
about what is allowed and what is not. For example, it is not
allowed to use any other programming languages and code generation
tools besides the allowed languages. The teams are allowed to use those
shells, editors and IDEs that you provide them with. The contestants
may use the documentation provided in Kattis (including STL and Java
doc) as well as man pages if you have them.
- Before the competition starts the contestants are allowed to log
in, start a browser, start an editor if they want and log in on
Kattis. Nothing else. No configuration files may be edited and
the problem set is not to be touched.
- All contest directors should report to me that they are ready to
start the competition at the latest 10.50 Swedish time. If you have
problems please report those as soon as possible. You can report on
the IRC channel (irc.acc.umu.se#ncpc), through email
(email@example.com), or by calling me (+46-700-89 56 89). Since
there are many sites this year we will probably start the contest
even if one or two sites are silent. Unless something unexpected
happens KTH will make a countdown on the IRC channel and at 11.00.00
local KTH time the competition will start.
- When the contest is started the contestants are allowed to open the
problem set and start using the computer. Do your best to monitor
that they do not use any illegal programs or surf the web. All the
documentation that they are allowed to use is linked from their
- All clarifications are handled through Kattis. The head judge
is responsible for answering all clarifications. They might be
discussed on IRC if needed. If the answer is of general interest
then an email will be sent to all directors.
- When the competition is over and the final result is ready, I will
announce it on IRC and to all directors by email. This is expected
to be shortly after 16.00 unless something unexpected happens.
After the contest
After the contest, it is nice if you have a small ceremony where you
announce the results, and give out prices if you have any. If you have the
opportunity, you should also go through the problems.
Advancing teams to NWERC
In some countries, the best team is sponsored by the national organiser to go
to the regional finals. In addition, the large educational institutions
sponsor their best team. Check with your national organiser and your
department what is possible.
There are three scenarios if you (as a coach) are going to send team(s) to
- You will only send team(s) that have competed in NCPC:
Solution: Use the promoting teams link on your site director part of
http://icpc.baylor.edu/. If this
doesn't work - Inform the Contest Manager
which teams you want to advance and he will take care of this.
- You will send both team(s) that have competed in NCPC and other team(s)
Solution: Use the promoting teams link on your
site director part of
http://icpc.baylor.edu/ for the NCPC
teams. If this doesn't work - Inform the Contest Manager
which teams you want to advance and he will take care of this. For the non
NCPC teams, just register them directly to the regional contest
- You will only send teams that haven't competed in NCPC:
Solution: Just register your teams directly to the regional contest
Editor: Måns Magnusson