Sunday, March 2, 2008

Standard Bank IT Challenge Selection

Before getting to the topic of this post, let me advertise the new low traffic mailing list that will be used to announce contests being held at UCT. You can subscribe to it on this page.

Three years ago Standard Bank introduced the Standard Bank IT Challenge and every year UCT hos won it. Now when a company sponsoring an event like this sees this happening it usually has one of two reactions:

  1. They're happy that they've found the source of great talent and try recruit some of that talent.
  2. They become all bitter because their goal was to create competition that attracts more universities, but we're blocking them from achieving that goal.
Unfortunately for us they have chosen the latter, which for the first time has really started to make life difficult for us this year. The first IT Challenge in 2005 started out with a single round in Johannesburg with one team per university being invited, which Bruce and Carl (the obvious choice) went through and won with ease. For 2006, they expanded it by introducing the heats which were held at each university. Four teams per university were allowed, which at the time was easy enough to limit to.

Then comes 2007 and all of a sudden word has started to spread about this competition with Macbook Pros as first prizes and iPods for second. Luckily for us we quickly negotiated an additional three teams to bump us up to seven. It was still tough having to turn people away when the numbers were quickly reached, but at least their were no tough decisions on who to accept.

This year it has been a huge problem. Last year's ACM ICPC attracted 22 UCT teams and the rules allowed for people that couldn't participate in the ICPC to participate in the IT Challenge, which only made things more difficult. Add that to the problem that the contest is happening three weeks into the start of the academic year (lectures started two weeks ago) and they only gave us the dates on 30 January and time becomes a factor as well. Then on top of that they still haven't given us a final number of teams that we can enter, saying that they have allocated four per university and that we will get any slots not filled by the other universities. And last but not least have now added the rule that teams require at least one female member -- and I despise quotas! Altogether it makes for an organisational nightmare.

I made the announcement about the IT Challenge on Monday evening and by Wednesday morning we already had nine teams registered, a number that eventually reached eleven yesterday. Given more time there is no doubt many more teams would have registered as word of the contest travelled. However, due to the large numbers and limit on the number of teams unknown we had to make a quick decision. Registration was over too short a period to allow for a first-come-first-serve selection. The teams too close on skill and people had shuffled teams too much to allow for a selection based on past results while being impartial about it. So we decided the only way to select the top teams was to have a preliminary selection round.

There were several problems with a selection round as well. We only realised we had to go for it on Wednesday evening and so teams had less than three days notice, which resulted in most teams not being able to compete in full. One top team couldn't even make it at all! What could we do? Nothing really. Whatever we did to favour one team would result in other teams complaining at how they too were disadvantaged and rightfully so. The other problem was the lack of time to set problems. The first choice would have been to use a past IT Challenge problem set, but all of them had done the rounds to at least some of the teams so that wasn't going to work. Luckily Bruce is still available to give some tips every know and then and as he takes part in every random programming contest he can find he was the person to find out about what contests were coming up for us to use. We ended up choosing this contest on the Timus Online Judge, which ran yesterday.

There were a few issues in using the Timus contest. Firstly, the problems were quite different to those in the IT Challenge, but there aren't many contests with problems like the IT Challenge. The server must have had about 20% downtime during the contest, which affected some teams more than others. The marking queue grew very long after about 90 minutes of the contest, with the markers lagging behind between 60 and 90 minutes, which meant that some teams had all the problems in the queue not knowing what to work on.

In the end the results were pretty clear. Bruce had won. ;-P

http://olympiad.cs.uct.ac.za/itchallenge/selection2008_raw.html

But obviously he couldn't compete in the IT Challenge for the same reason I couldn't -- he's not a student. So when we take him away we end up with my old team, the United Coding Team of Harry, Shen, Max and Ingrid winning. We also decided before the contest to bump up the top team of first years (which there was only one anyway) up to fifth place to stand them a better chance of proceeding since they need the experience. After making those slight adjustments the results look like this:

http://olympiad.cs.uct.ac.za/itchallenge/selection2008.html

So the four teams guaranteed a position in Saturday's heats are:
  1. United Coding Team (Harry, Shen, Max and Ingrid)
  2. teh_solverers (Timothy, Migael, Keegan and Tamara)
  3. Team 1018 (Ben, Charles, Min-Young and Yumna)
  4. Team Lolcano (Dave, Jannie, Andrew and Hayley)
The rest depends entirely on how many teams the other universities enter.