Interested in programming, problem solving and having a good time? Read on. We chatted with Marc Boscher from the CS Games Council about the upcoming event and why you should be a part of McGill’s team.
What are the CS Games?
It stands for Computer Science Games, although it also appeals to undergraduate students in Engineering and Mathematics; we sometimes even have a few Biotechnology students. The event is 50% academic and 50% social. The objective is not to do another ACM competition, but to balance out communication, cooperation and technical skills in much wider domains, from web design to software engineering, debugging, scripting, sports, and a scavenger hunt to visit the host city and university.
How did it start?
The competition started in 2003 at McGill. It was the idea of a computer science student, Denis Lebel, who gathered people and convinced all of us to do this crazy thing. We had no idea if anybody would come, but we put up a website and called up some universities and student associations. The first year, we had something around 15 universities, which was very surprising . There was no Trottier building at the time so it was in the basement of Burnside! They had a bunch of Pentium I computers, so we put them in a room and used that as a lab for the competition. We somehow managed to cobble together an environment for a competition. The second year, we redid the event at McGill, this time in Trottier. Each year since then, it’s been at various universities: McGill, Sherbrooke, ETS, Laval, UdeM and Polytechnique. Next year, it’s at Concordia.
What’s special about the software engineering competition?
There is a team of 3 that develops a program according to a list of requirements, each worth specific points. It could be a software application, a game, etc. and can target skills for user interfaces, databases and networking. But the real challenge is that you have 3 people and 3 computers. In the first 30 minutes (design phase), the whole team can talk. Then you have 2 hours of development time where no communication is allowed (nor is sharing code and files allowed) and the last 30 minutes (integration/testing phase), the team is back together. It’s extremely challenging to develop code for 2 hours, based only on 30 minutes discussion and then put everything together at the end.
When they integrate everything at the end, does it ever work?
Some people are too aggressive on the feature side and so they try to do too much and they can’t make it all fit together. The competitions are hard, but they scale in the sense that there’s always features that appeal more to first years, and other more difficult features that appeal to more experienced students. We always make it so that it’s impossible to actually finish the program in three hours. But somehow, some teams manage to pull out unbelievable software! This competition highlights one of the strong aspects of software engineering: being able to communicate.
What’s the relay programming competition?
There are 3 small problems, 3 people and 3 computers. Every so often, they switch computers and complete the problem of the previous person. They cannot communicate either: the person has to pick up your code as it is, so it has to be understandable.
Could McGill be the host in 2012?
McGill is always a good venue for hosting the CS Games. They’ve proven it before. One year, they organized the event with only 2 organizers because the recipe was defined at McGill. The process is that any university interested fills out a form that pitches their team, their organizers, the university backing and their facilities.
There’s a new rule that the hosting team can’t win. Why?
The hosting team still competes and can win individual trophies for each competition, but it can’t win the cup. We just want to make sure there’s no ambiguity as to conflict of interest and we want the hosts to focus more on making the event a success.
How does it work in terms of cost?
The cost is usually around 100 and 130$ per participant. It includes Friday and Saturday nights at the hotel, with meals, snacks and access to the competition. The big expense usually comes from transportation for certain universities. But if teams start preparing ahead of time, the university often funds the team.
Why do students participate to the CS Games?
We have polls every year to get a feeling for that. People come for different reasons. Some come to meet other people, some for the social competitions like Scavenger Hunt and others for the technical competitions. But we try to encourage people to do it all at the same time. So most end up coming to the CS Games and get a taste of everything.
There are competitions even at night and it’s quite intense. There’s really no time when you can say “I’m bored, I have nothing to do”. Some even make a LAN in the common room and start playing Starcraft. Some will write competitions while others will just sleep because they have to recover!