Thursday, April 10, 2008

World Finals Results

The results of the 32nd ACM ICPC World Finals are in. My team came in 47th place out of 100 teams, just clinching the African and Middle East title by about 20 minutes! So they won $1,050 and a plaque to be added to the other five we have. While they have slipped a few places since last year, it's got a lot to do with the vigorous training programs improving rapidly.

A total of nine teams got 7 problems, with one solving 8! It's great that the winning team was decided on problems solved rather than time penalty. It was the Russian's that took back the title with St. Petersburg University of IT, Mechanics and Optics the world champions. MIT, Izhevsk and Lviv shared the remaining gold medals coming in that order, but with only 13 minutes separating them all! In the end 22 teams solved 6 or more problems, which I find an amazing achievement.

The final standings are available right here.

The University of Aukland won the South Pacific region and the Universidad de Buenos Aires won the Latin America region. Together with them we were the three southern hemisphere champions -- a great photo opportunity. I'm hoping most people can work out which team is which below.



The final celebrations was exciting, but still doesn't meet the high standards set by Shanghai in 2005. We had a nice dinner followed by two shows. They had two apparently famous jugglers followed by an apparently famous hypnotist. It was interesting to watch, but I don't believe it's something we can't watch back home which is was disappoints me. However, all in all it was a magnificent week and I am very sad to be leaving. It just started snowing down rather strongly (the strongest snowfall I've ever seen!) as we walked out of the celebrations theatre. It's stopped now, but it was a lovely touch to end of this amazing experience.


I'll blog more about the finals and in particular the topics discussed at the coaches meeting when I return to South Africa. I've got a 2 hour bus to catch in about 6.5 hours (and I still have to pack and squeeze in some sleep!), followed by 6 hours of flying to New York. We spend a couple nights there and then we return to Cape Town with 20 hours of flying.

World Finals Over

The 32nd ACM ICPC World Finals have just recently been completed. The teams are all exhausted and taking a nap before the awards ceremony and final celebrations begin.

It started out with a surprise of eleven problems instead of the usual ten. Things got even stranger when the first problem was only solved after 31 minutes and that the first five solutions were for five different problems! Something that is very unusual for the world finals where they usually have one definite easy problem which can be solved in under 20 minutes.

Our team took some time to solve their first problem (problem F) after 124 minutes. The American University of Cairo (who we were competing with for the Africa and Middle East title) were close behind from early on by solving F in 137 minutes, but ran ahead after 169 minutes with problem K (although they had 4 wrong submissions). We then got K with just under an hour to go, but then soon after Cairo got B (with at least 2 wrong submissions -- scoreboard stopped updating in the last hour). With less than ten minutes to go I saw the white balloon for problem G slowly moving closer to our team's table. And that's the way it ended -- both teams on three each and neck-and-neck with time. I did a rough calculation and it seems we're less than 20 minutes apart so we'll have to wait until the awards ceremony to find out if we will retain the title for the 6th consecutive year (out of 6 appearances in the world finals!).


You can view the scoreboard from an hour before the end of the contest here and the problems here. At least one team got an 8th problem right at the end -- St. Petersburg Institute of Fine Mechanics and Optics. And at least the following seven teams got 7:

  • Izhevsk State Technical University
  • Lviv National University
  • MIT
  • Michigan State University
  • Stanford
  • Tsinghua University
  • University of Zagreb
The final results should be published on the ICPC website shortly after the awards ceremony. After the ceremony is the final celebration which is always kept a surprise until the very last moment and is usually the most awesome part of the week besides the contest itself.

Wednesday, April 9, 2008

ACM ICPC World Finals: Live Scoreboard

The 32nd ACM ICPC World Finals starts in just under two hours (countdown). You as the public will be able to for the very first time view the problems and the scoreboard live at the very same time as we do on-site. All you have to do is go to this site.

Good luck to all and may the best team win!

ACM ICPC World Finals: Contest Warmup

After breakfast this morning we moved across to the Van Horne Ballroom for the opening ceremony. The reason they hold it a day after the start of events is because the actual contest-related events only began today with the practice session. As we gathered outside quite a crowd developed rather quickly as we waited for the doors to open.


The ceremony was held in the same venue as the contest will be held tomorrow so the contestants and coaches sat at their computers. This has often been done in the past to save space. Unfortunately they have the words "Do not touch!" in big red caps, so they all had to wait in front of the computer without touching it until the practice contest began.


The opening ceremony is usually started off with a local dance. This year we had the Blackfoot Medicine Speaks dance for us. Unfortunately we couldn't see much of them from where we were, but the music was rather unusual.



Then all the major people gave their talk. It was the same old talks, except I was interested by the enthusiasm of the government in the event. Usually they have a video of someone in the local government record a speech, but this time they had several deputy majors and so on actually on-site to give their speeches.

Bill Poucher, the director of the world finals. His talk is the one I always look forward to at the opening and closing ceremonies. He's always guaranteed to bring some much needed humour to the splur of thank-you's, recruitments and congratulations. This year he didn't upset. It started out with someone having swiped his notes from the podium and watching him trying to find them was a laugh:


He had the long list of the names of the core people that make the event run on the projector and went through thanking them. This is my fourth time at the world finals, but it never ceases to amaze me just how many people are required to get the whole thing to work as smoothly as it does. Just to give you and idea, the problems are worked on and matured over a nine month period compared to the problems we set which take maybe two weeks to set and check. One of the technical teams, when asked to stand up walked in with bathrobes as a joke to show just how confident they were with the setup:


When the ceremony ended the practice session began. The contest director went through a few rules of the contest and how the practice session was to run. They always have the same, very easy problem that is written in such a way as to test the contest software PC2. Unfortunately some teams decide to go against the rules a bit to get the top spot on the practice leader board. The biggest culprit was one of our African counter-parts from the American University in Cairo who took top place -- lets see them get that in the real deal tomorrow!

As the last bit suggests I finally met up with our African counter-parts. This year we have two challengers for the African and Middle East championship. I met both of them and we're keen on getting some collaboration going and possibly hosting an African collegiate contest, something I'd love to see happen! I also met many of our other fellow southern hemisphere teams, which interestingly enough comprise just under 10% of the teams!

During the practice session we got a picture of the team holding the trophy, something we're all hoping we'll see more of after tomorrow!


After the rather eventless practice session we had lunch followed by answers to some of the questions raised during the practice session. There wasn't anything really new, but two teams got called aside for attempting to crash the contest servers. I'm not sure what they did exactly, but we were all told not to attempt that tomorrow. Last year it was unusual network activity, what will it be next?

There was a second practice session, which the team used to poke around and try out Java as well in case they need it for things like big numbers.

After that brief taste of what the big day tomorrow will be like we went on our second excursion. My team had chosen the gondola ride up the mountains, but by the time I went to register it was full so I selected the hot springs. I was hoping for the hot springs to be in the middle of the snow, but that wasn't the case. It was very relaxing and an opportunity to meet some more teams. I had a long chat with one of the Egyptians and the Australian team from Griffith University. When they left early I went to chat with the two teams from Florida. I find it really interesting exchanging regional contest experiences.


After the hot springs we returned for dinner where I met the team from Simon Fraser University who have a total of seven people on-site, just behind British Columbia with nine. Then I met up with my team as well as the American University in Cairo team. After dinner we went for a walk with them and they started a massive snowball fight! After that eventually subsided we walked down to the river and then returned for a game of poker, which I failed at miserably (but I'll try again!).

Tomorrow is what the 100 teams have been waiting for. It's the big day. Some teams have been practising for many months, but it all boils down to these five hours. It wouldn't surprise me if Warsaw retains the championship as their same team returns to clinch a potential double, which I don't recall ever happening before. Our team is aiming to improve on the 26th place they earned last year by solving four problems with the slight glance at the medals.

Tuesday, April 8, 2008

IBM Tech Trek and Columbia Icefield

So after most of the teams arrived yesterday (I know only of two Iranian teams that couldn't get visas -- sad story!) we had our first full day of activities today. Before I go any further though I must mention how simply amazing our hotel is. I think this is the first time I have a king bed all to myself. The bath has air jets and the shower nossel can be set to massage you! And the overall style of the hotel is wonderful.

If you want to see more pictures of what's going on in Banff they have hundreds up on the official website over here. They're also doing a daily video clip -- here's the first of them:


After a short sleep last night (we had to wake up at 07:00) we were served a good breakfast. I'm really loving the teas they have and that's saying a lot considering I'm far more a coffee person. I met some more IBMers again. They tried convincing me to try get South Africa to host the world finals, but as I told them money is the major issue holding us back (we had a serious look into it last year).

After breakfast we attended the IBM TechTrek, which is a series of presentations by IBM. Doug Heintzman was the lead speaker as always. I used to find him rather boring, but he's definitely improved over time and this year he was rather interesting to listen to. He talked mostly about how the software development methodologies at IBM were changing quite drasitically from the classical model. He ended off by touching on Jazz -- an interesting IBM project that allows for collaboration via IM from within Eclipse. What makes it appear to be so effective is the ease of starting a conversation with the person who wrote the piece of code you're interested in and how well everything is integrated.

The first speaker up was Jean-Francois Barsoum. After some fairly nasty technical difficulties (when will people learn to test out their laptops on the projector before giving a talk?) he delved into Web 2.0. His main focus was on whether or not Web 2.0 will survive and that we now require Human 2.0. Then Li-Te Cheng took the stage to talk to us on three examples of how students have joined IBM as interns and made an impact. He had changed his topic overnight since his original topic of Jazz was being displayed in the evenings at the CyberCafe anyway. He also touched on an internal social networking site they use which has now got over 20,000 users (out of a total of 360,000 employees).

Finally someone who's name I cannot remember talked on IBM's Extreme Blue internship program. They give a talk on it every year, but this was the first time I actually listened as I might be interested in applying. To summarise briefly they get three technical students and one business student to work together in a team, which they find works better than giving the students their own project to work on. This is only for their top 200 interns so it's difficult to get into. An ex-intern who now works full-time for IBM went up on stage to give a brief history of her experience on the project.

After two and a half hours of listening to the talks we started the first excursion. We were given a choice of a trip to either the Columbia Icefield or Lake Louise. We chose the former, which it seemed most other teams also went for. It was a long three hour bus ride to the icefield, but it was very scenic and we had a guide telling us some history behind the area and telling us about the surrounding mountains. I think the pictures will describe the beauty of the scenery far better than I could ever describe. So here's a small selection of the mountains on the way to the icefield:






About two hours into the journey we stopped over at Bow Lake. It was amazing how the lake was completely frozen and then covered with a thick layer of snow in such a way that it no longer looks like there's a lake there. If you haven't caught the drift yet, we're not used to snow in South Africa at all so this is quite an experience! Here's a picture of us standing on the lake:


Soon after that stop-over we arrived at the icefield. We were all simply in awe. In front of us was the largest icefield south of the Arctic totalling at around 325km² of glaciers. Below is a shot of the main glacier, the Athabasca Glacier. A lot of the glacier in the shot is below snow. It stretches from just past the road all the way to the edge of the picture and continues for about 6km ranging from 90 to 300 meters deep!


Glaciers are formed by compacted snow turning into ice. Over time the ice builds up and is so strong and large that it carves through the mountains! Apparently it's the glaciers that formed the valley between the mountains and make some of the mountain peaks smooth on top. These glaciers are melting gradually over the years and they used to be much, much larger. Below you can see us standing on the thickest part of the glacier with the three "steps" of the glacier in the background. If you look closely we are standing on a portion of the glacier exposed through the snow. We had to take a snowcoach to get out onto the glacier and it goes down the steepest slope in North America at a 32% gradient.


The icefield is made up of many hundreds of glaciers, with the one we were on being the largest. In the picture below you can see another glacier just below the top of the mountain. The glaciers all feed on one another as crevasses form and huge chunks break off and smash into another glacier.


That was the Columbia Icefield. Upon our return we had dinner waiting for us, which was delicious yet again. If the food is this good now I can't imagine what the final dinner is going to be like as they usually spoil us on the last day! After dinner I went to have a chat with the Extreme Blue team and I'm going to follow up with them later. I then played a little bit of Wii tennis which we lost.

Tomorrow is the opening ceremony, which should hopefully have some great Canadian bands, followed by the practice sessions and the second excursion. The practice sessions are always amusing as the judges make interesting decisions such as the one on graph paper in the past. My team chose to take the gondola up the mountains for tomorrow's excursion, while I chose the more relaxing hot springs. Hopefully both live up to expectations.

Monday, April 7, 2008

ACM ICPC World Finals 2008: Arrival in Banff, Canada

After 28 hours of flying (not counting stopover time and ground transportation) we finally arrived in Banff this afternoon. The journey took us from Cape Town to Johannesburg to Dakar (refuelling only) to New York (where we spent a night) to Minneapolis to Calgary (where we spent a night) to Banff. I'd love to hear of any other teams that may have had a longer journey as at registration they hadn't heard of anything as long as ours.

My camera was flat for our brief stopover in New York, however, we will be returning there for a couple days on the way back. We mostly just wandered around times square going into places that looked interesting and noting places to see when we return next week. Calgary was the first all but one of our delegation had seen of Canada. We were rather surprised by the weather as it was about 10 degrees, when we were expecting sub-zero weather. Calgary is a fairly large city, but there wasn't all that much to see in the short time we had. Below is a picture of the city's skyline.


After a night in Calgary we headed back to the airport where we caught the 2 hour bus to Banff. In Calgary there were tiny patches of snow, but Banff is in the mountains and so there's plenty snow around. Banff is the largest national park in Canada, situated in the Rocky Mountains. We're staying in the Banff Springs Hotel, which I think is an amazing hotel. Not such a great shot, but below is what the hotel looks like from the outside.


And here's a shot of the team and me outside the hotel (me, Migael, Tamara, Timothy):


We arrived in Banff at 14:30 and dinner being the first scheduled activity started only at 18:00, so we took a walk up one of the mountains. In the middle of the many snowball-fights we decided to put together a little snowman. However, this would be no ordinary snowman -- it was made to look like Bruce. It's a snowbruce! :-P


After the walk up the mountain we went to see the river, which was half frozen, as well as the frozen waterfall. Below is a shot of the scenery with the river in the foreground.


Dinner was pretty good. We met the RCD from Virginia with which we had a very interesting conversation on their experiences versus ours as well as a discussion on the American economy. After dinner they had some wild birds on show and we got to hold an owl:


After dinner we went to check out how registration was going. We were scheduled to register at 20:00, however, things seemed to be moving very efficiently so were able to register early. I find it annoying that they alternate between some years having a very efficient registration process and others (2005 and 2007) being very inefficient. During the registration process we picked up the load of free goodies which you can see below. Hopefully they are more reasonable this year like they were last year with the enforcement of wearing the single t-shirt for so many events.


Just recently to end off the day they had two speakers giving talks on Chinook (the project that solved checkers) and IBM's Unified Parallel C compiler. They were both very interesting and I hope they are a sign of what's to come!

That's all for today. Time for sleep. Tomorrow there's the IBM TechTrek which is usually a rather boring sequence of talks, followed by an excursion to the Columbia Icefield, which has the largest ice glacier south of the artic.

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.