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.

Friday, February 29, 2008

Google Student Ambassador Programme

A couple of days ago I received an email from a university programs coordinator at Google about the Google Student Ambassador Programme they are launching in Africa and the Middle East. One student is selected from a university as the student ambassador and his role is responsible for representing Google at his university. This involves organising Google-sponsored events and handing out Google goodies. One of their popular things they like to do is organise pizza for the other students during exams and other deadlines when people are pulling all-nighters.

The requirements of the job are pretty standard:

  • Student in Computer Science or related field
  • 2nd or 3rd year undergraduate or graduate-level student
  • Excellent academic performance (equivalent to an A- mean grade or above)
  • One-year commitment
  • Active in university student community
  • Passion for technology, innovation and learning
But not the benefits :P :
  • Leadership role
  • Exposure for your university at Google
  • Free food
  • Google gear
  • Admiration from your CS peers
It's a small step, but an interesting one I find. Very often companies approach the staff as an entrance point into universities, but not with Google. Yes, they did have a series of meetings one day with our staff, but they have made a far greater effort in approaching the students directly. Is it necessarily a good thing though? Well, it is unusual and that alone gives it a chance of working. But in many cases students just aren't interested in this sort of thing.

Is the fact that they are just Google going to make this work? Would it work for any other company? My feeling is that it very much depends on the company and its culture. NVIDIA, for example, has the right culture to make a strong student-company relationship work as well. I was actually trying to discuss this very sort of relationship with them towards the end of my internship. I think it also requires that the student has an active interest in the company, such as I do in Google.

If you are interested in applying (and you are a UCT student) then let me know and I can recommend you to Google. I found some further information on the program here and you can also read the email below. This is definitely a step forwards, but I hope it moves further.

The full email I received:
Dear Marco,

I hope this email finds you well.

We wanted to get in touch with regards to a Google Student Ambassador Programme we have just launched for students enrolled at universities in Middle East and Africa.

The Google Student Ambassador Programme, an exciting new opportunity open to high-achieving technical students at select universities in Middle East and Africa.

Google Student Ambassadors are the voice of Google on university campuses and work with Google to plan and implement university events, which promote information technology, Google products, and student learning.

Ambassadors act as a technical resource amongst their fellow students and a university liaison for Google. Students who participate in this programme become part of an international network of students dedicated to improving knowledge transfer between industry and academia.

One student per university is chosen to serve for the duration of the academic year, after which they'll receive an official certificate in recognition of their achievements and contributions in this role. While the responsibilities associated with this position are a considerable time commitment, they are also a fun way to learn more about Google and give back to the university community.

Being a former intern we believe you know Google, our culture and products very well and could make you a very good ambassador.

We have just launched the programme and are currently soliciting details of interested students to whom we will reach out with more information about how to apply to become a Google Student Ambassador by March 10th, 2008. I wanted to get in touch with you before though to see whether you would be interested in applying for the programme.

If you can't commit, maybe you know fellow students that you could refer?

The requirements for becoming an Ambassador are:

  • Student in Computer Science or related field
  • 2nd or 3rd year undergraduate or graduate-level student
  • Excellent academic performance (equivalent to an A- mean grade or above)
  • One-year commitment
  • Active in university student community
  • Passion for technology, innovation and learning
If you can think of someone who would make a great ambassador, please do not hesitate to send me their contact details and we will reach out to them with further details by March 10th, 2008.

Please let me know should you have any questions in the meantime.

We look forward to hearing from you.

Best regards,

Maria

Friday, February 22, 2008

RoboCup

RoboCup has become fairly well-known over the past few years. It's a soccer championship for robots. It started out by using Sony AIBO robots and just getting the teams develop the AI for the generic robots to play against one another. Many leagues have since been introduced to concentrate on different aspects of the game. Recently they have gone into the area of humanoid robots, which add a whole new level of complexity as they now have to learn to walk and recover from falls.

Towards the end of last year UCT was invited to participate, working together with a German and Austrian institute. This has resulted in the merger of our Agents and Robotics labs to work together on this one big goal together. The next championship takes place in Suzhou, China in July and our aim is to be ready to participate by then.


Going on the assumption that I will get into either UIUC or Waterloo, I have six months before I would start. Six months that I didn't want to sit around doing nothing. I'm back in Cape Town now by the way -- my internship at NVIDIA is over. So I went to visit Anet Potgieter, the Computer Science lecturer supervising the local RoboCup effort to see what was still open for the taking. They are participating in two leagues, but the one that interested me most was the humanoid league. They will soon be receiving four Aldebaran Robotics' Nao humanoid robots to compete with. Here's a video clip of one walking:



The component that caught my interest was the computer vision. The robots each have a small webcam that record at 30 FPS. The stream needs to be processed in realtime and when you consider that these things have only a 500MHz processor this is a rather daunting task. I know from my segmentation research last year that any sort of image processing takes time and being responsive in this game is crucial. So I envisage myself doing a lot of optimisations and dropping as much redundant data as possible while still being able to get decent results. It's going to be all about trade-offs between accuracy and efficiency.

Most of the work is done with a simulator, which is apparently very realistic. Since we haven't got the robots yet, we're pretty much stuck with the simulator only. My work on vision I foresee being impacted the most by external factors such as lighting and so I'm very anxious to get the real bots. The simulator (screen below) has ridiculous recommended system requirements. It needs a quad core and an 8800GT to run effectively. It literally crawls with even a single robot on my dual 2GHz laptop!


It definitely sounds like a lot of fun and not being too restricted (I'm doing this more as a filler than anything else) should make it more so and I'm really looking forward to digging in deep. I'll keep this blog updated with progress as things get moving!

Friday, February 15, 2008

They're Running Out!

From Princeton:

Dear Mr. Gallotta:

Thank you for applying to our Graduate School for the 2008-2009 academic year. While I assure you that the materials you submitted were carefully reviewed by the faculty in the Department of Computer Science and by the Graduate School, I regret to inform you that the department did not recommend your admission for the coming year.

The number of places available at Princeton for entering graduate students is extremely limited and we cannot offer admission to all who are well-qualified. Indeed, many departments consistently have applicants who would be admitted without hesitation if the resources were available. Our decisions take into account not only the applicants’ merits, but also the suitability of the department’s programs to the candidates’ expressed interests. Our goal is to achieve a sound match between the strengths of our programs and the interests of the relatively small number of outstanding students that can be accommodated.

We chose to advise you of our decision via email on the assumption that a timely response would outweigh the informality of this means of communication. I would be happy to provide a formal letter upon request.

I wish you success in your plans for graduate study and thank you for considering Princeton University.

Sincerely,

William B. Russel

Dean of the Graduate School
So, only two places left: UIUC an Waterloo. And UIUC is the one I really wanted!

Thursday, February 14, 2008

It Won't Be The Bay Area For Me

This just in from UC Berkeley:

I regret to inform you that you have not been accepted for graduate study in Electrical Engineering and Computer Sciences at the University of California, Berkeley.

The Berkeley campus has a strict enrollment ceiling and thus each department is limited in the number of new students it may admit each year. Our department has the difficult task of selecting students with the strongest overall records from a large pool of well-qualified applicants. Unfortunately, this means we are not able to offer admission to many applicants who are capable of excellent academic work.

I am sorry that we do not have a place for you and hope that you will be able to make other arrangements to achieve your academic goals.

Sincerely,

Joe Hellerstein, Vice Chair
EECS Graduate Matters
I'm not sure how wide-spread this his, but a friend tells me he hasn't heard of any South African being accepted by more than two US universities. I can only hope this is the reason I am getting all these negative responses back.

Wednesday, February 13, 2008

SACO Training Camp One Online

Making the SACO final round and the online training camp available to the general public has proven rather successful, so we're planning on continuing to do so indefinitely. We've been getting lots of participation from TopCoder members, however, we'd really like stronger participation from South Africans. So if you're a South African reading this and are interested or know someone that might be interested please read further.

The first training camp of the year is being held in two weeks time over the weekend of 23-24 February. We'll be holding it online during at the same times as the on-site contest:

To participate, all you have to do is register over here:

https://olympiad.cs.uct.ac.za:8082/contests/camp1-2008/

If you have already registered for a previous contest, then you don't need to re-register as your account will carry over to the new contest. The coaches will be on IRC, in #saco on the FreeNode network during the contest for any potential issues that may arise. To see what type of problems to expect, have a quick look through the problem archive.

Tuesday, February 12, 2008

One Down, Four To Go

Just a couple of hours ago, the following hit my inbox:

February 11, 2007

Dear Marco Franco Antonio Gallotta,

Thank you for applying to the Computer Science Ph.D. Program at Stanford University. The Ph.D. Admissions Committee has reviewed your application and we are sorry to inform you that the committee did not recommend you for admission. The number of applicants far exceeds the number of those we can admit, which makes the admissions process a difficult and painstaking one. As a result, many strong candidates must be turned down.

We wish you every success in satisfying your educational and career goals.

Sincerely yours,

Graduate Admissions
Computer Science Department
Stanford University
I'm not sure what my response is to it yet, but it's sinking in fast. This is a big step I'm taking, one which will decide my future for at least the next five years. And now that that the first response has come in, I'm starting to feel very nervous as the rest are likely to start coming through rather soon now. Nervous as hell! I just want it to be over, either way!