How to organize a coding competition in college

A practical plan for a college coding contest: the format, the date and length, a difficulty mix that works, who may enter, how to fill the seats and what to have ready on the day.

Decide what the contest is for

Every decision after this one follows from it. A contest to welcome first-years wants easy problems and a crowd; a round to pick a team for a regional wants the real format and hard problems; a club's monthly event wants something people come back for.

  • A 1v1 knockout suits an evening with an audience: one winner, matches people can follow, and a bracket that settles itself round by round.
  • An ICPC-style contest suits a selection round or a team event: everyone on one clock, ranked by problems solved and then penalty time, with a scoreboard to watch.
  • Doing both works well: an ICPC-style round to pick the strongest, then a knockout final between them on a later day.

Pick the date and the length

Avoid exam weeks and placement drives; a weekend morning is the easiest slot to fill. Set registration to close at least a day before the start, so you know the numbers and can chase the people who meant to sign up.

Lengths that tend to work (advice, not a rule)
EventLengthProblems
First-years' contest, ICPC-style90–120 minutes4–5
Selection round, teams of three3 hours6–8
Knockout, each match30–45 minutesone per round
Knockout of 32 players, whole eventabout 4 hours5 rounds

A knockout's length is its rounds times the match length plus a short break: on CodeKairo Battles a match starts one minute after both of its players are known, so 32 players and 45-minute matches finish in roughly four hours.

Choose the problems

Aim for a set in which everyone solves one problem and nobody solves them all. For a three-hour contest of seven problems, two easy, three medium and two hard is a good start; for first-years, drop the hard ones and add an easy one.

  • Order matters in a knockout: on CodeKairo Battles round one plays your first problem, round two the second, and so on — so put the easiest first and the hardest last, and the final gets the problem worth watching.
  • In an ICPC-style contest the order is only a label, but teams read the set top to bottom, so an easy problem early keeps the room from stalling.
  • Test data is the part that goes wrong. Problems from the CodeKairo catalogue already have hidden tests and starter code in 13 languages; you choose up to 15, by topic and difficulty, and write none.
  • Some of your players may have solved a catalogue problem before. Prefer less common topics for the final rounds, or treat it as the reward for practising.

Decide who may enter

Open entry is simplest, but an internal contest usually wants only its own students, and a prize contest wants to know who is coming. On CodeKairo Battles these combine freely:

  • Email domains — only addresses on your college's domain (and its subdomains) may register.
  • An invite code — for an inter-college event, send one code to each college's coordinator.
  • Approval — you accept each registration yourself.
  • A cap on places — registration closes itself when it is full.

For a team contest, enter the teams yourself from a list of names and CodeKairo emails or usernames, so no team forms that you did not approve.

Fill the seats

  1. Publish the tournament a week or two ahead and share one link — the tournament's page — rather than a form.
  2. Post it where students already are: class groups, the club's page, notice boards near the labs.
  3. Remind people a day before registration closes, and again on the morning of the contest.
  4. For a knockout, remind players to check in: check-in opens an hour before the start, and anyone who has not checked in is left out of the bracket.

Run the day

  1. Test the lab machines and the network the day before, and keep a spare machine.
  2. Put the bracket or the scoreboard on a projector. It is half the atmosphere.
  3. Name one person for clarifications, and one channel where every answer is posted for everyone.
  4. Start on time: late starts cost you the people who planned around the published time.

CodeKairo Battles does not lock the clipboard or watch browser tabs. For a contest with prizes, run it in a lab with someone walking the room, and say beforehand what is allowed.

After it ends

Reveal a frozen scoreboard in the room if you can — it is the moment people remember. Announce the winners, share the results page, and ask for two lines of feedback while it is fresh. On CodeKairo Battles the results stay on the tournament's page, and every accepted solve counts on each player's CodeKairo profile, so the contest keeps paying off after the day.

Frequently asked questions

How many problems should a two-hour coding contest have?
Four to six. Enough that the strongest team is still busy at the end and every team solves at least one — usually two easy, two or three medium and at most one hard.
Should a college coding contest be individual or in teams?
Teams of up to three suit a selection round for team events and put beginners beside stronger students; individual contests suit a knockout and make the result unambiguous. Many clubs alternate between the two.
How do I stop cheating in an online coding contest?
Run it in a lab with an invigilator, state what is allowed beforehand, and use a problem set the players have not seen. CodeKairo Battles itself does not lock the clipboard or watch tabs, so the room is where fairness is kept.