Geek Olympics Code for Gold
Haydn Fenton writes "Wired has a recent article on the16th annual IOI (that's International Olympiad in Informatics), taking place in Athens from Sept 11th to Sept 18th. The 304 programmers from 80 countries will be competing in 7 marathon programming sessions to determine the world's fastest coder. The computers are being supplied by Altec and contestants will have a choice of using either Windows XP or RedHat 9.0. More information can be found on the IOI Website."
Just don't make them play beach volleyball..
*shudder*
Do the female Geeks get to wear those hot outfits like the Olympic Vollyball teams???
__________ Leave me alone I'm compiling a RPG II program on my S/36...Thanks to metamucil I'm a Regular Meta Moderator
How sweet would it be to have cheerleaders for this kind of thing?
A programming contest that doesn't include MacOS X? Crazy! All of the best engineers I know have been moving to MacOS X as their native platform ever since MacOS X 10.2. It lets you use all those wonderful open source tools, and still have a nice friendly GUI, and work on a beautiful laptop, all at once. It's a thing of beauty.
And Apple's development tools rock!
Enable 3D printed prosthetics!
With a newer distro, the contestants would get newer versions of the tools (like Eclipse, Emacs, etc.).
I'm not criticizing; I'm just wondering.
-- I like my women like I like my beer: smooth, and not too gassy.
What could be better than winning a gold in the Geek Olympics?
A> Not being a fucking geek I'd warrant.
Engineering is the art of compromise.
This sounds too much like something contrived by corporate America.
No, thanks. I'll take the quality olympics.
It's like... "Who can build the next skyscraper the fastest? Now, who wants to occupy it?"
If you do what you always did, you get what you always got.
"I use FreeBSD you insensitive clods!"
written on his back ran onto the floor and shoved the leader's chair into the crowd. Scooting the chair back into place cost the leader precious seconds and momentum which dropped him eventually to third place.
My friend went to the International Biology Olympiad, which is basically the sister project of this one. She had loads of fun, so I wish all the best to the kids competing in this competition. One point to note, perhaps: The people who are in this coding competition are all kids in school. This is not determining the fastest coder in the world, it's determining the best young coders. Just thought I'd clear that up.. =)
I thought they only used Windows in the International Special Olympiad in Informatics. :)
Somehow, unlike the "Athletic" Olympics, I don't think they're gonna need to hand out condoms.
Just personal lubricants...
Personally, I think embarassing posts are more pathetic than posting emabarassingly. But that's because I don't write posts that convey no meaningful information in a transparent attempt at gaining karma.
The safest way to approach lava is to have another person with you and he goes first.
Just say 'webcam porn' industry and get it over with
Back in the day (2000), I actually got into the final of the British Informatics Olympiad. I'm not sure what the format is elsewhere, but basically they sent out a self-administering test to schools (all the schools in the UK, I think) and had them run it locally, seeing how much of a few interesting puzzles you could write in three hours or so - you can find out more on the site. All programming, no justification, you were scored on results (in that round), which I thought was the way it should be - after all, results are what matters in real life!
;-)
;-)
All the cool people were using C or Pascal. I used QuickBASIC! And yet I got the right results for enough of the questions (the C guy got his output board the wrong way up), and so I was invited to Cambridge. The best part about the first round was that I hadn't even done the last round right - I just said "yes, that's right" to the sample case and "No, impossible" to everything else.
Anyhoo, I got to Cambridge (for you USAians, one of our old "Ivy League" colleges) where I learnt to my relief that they had installed QuickBASIC especially for the two of us who had actually got in with it (15 finalists total) - they were shocked at having to, I can tell you! Of course, I was pretty sure at that stage that I wasn't actually going to win, and so I had a great time and zero stress. The tests itself were a) more of the same, but b) there was also an easay paper. Having not read much about the subject formally, I imagine I did dismally on the latter - I think I got about one and a half on the programming at best. Didn't know how to do efficient sorting! Still, it was great fun, and really set my mind on becoming a programmer.
The best part was, we got room, board and tours around Cambridge absolutely free (I guess they were looking to recruit a few of us to Cambridge). I even saw Stephen Hawking whizzing around on his motorised wheelchair! We got given two books at the end of it - Programming Pearls and Introduction to Computer Algorithms. Both darn good books, although I admit to reading the first more closely than the second.
Nope it's simpler than that- OS X was not allowed because of easy access to Objective C libraries. Cocoa is frowned on as a "Performance Enhancing Language"
Keep it fair folks.
I actually participated in the IOI for two years and won two silver medals. Anyway, I can attest that the contest is neither about speed nor coding. It's about coming up with algorithms to solve hard problems. Similar to the International Mathematics Olympiad, if anyone's heard of that. If you can come up with a brillant algorithm and prove to yourself that it works on all possible test data in time, then you'll have plenty of spare time to code it in. If you can't do that, then you might get at most a bronze medal (half the people get *some* type of medal). Of course you do need to know your way around whatever language you use to program your solutions, but none of the programs will be more than a couple pages of code (we're not writing a Linux kernel here), and you have 5 hours to solve 3 problems. At the point where you can get most of the algorithms, it's much more important to have good debugging and testing skills than to be able to code quickly.
In fact I've found that the best strategy is to just turn off the monitor altogether and think about the problems for a while. Your most useful tools in the IOI are the pencil and pad of paper they give you.
The ACM programming contest is sort of similar to the IOI in that you have similar time limits and similar amounts of problems per person (8-10 problems for a 3-person team, with 5 hours). However, it's a lot more frantic since you're fighting for terminal time, whereas in the IOI you can take things slowly or run detailed tests. TopCoder (the other big programming contest) is also more speed- and debugging-intensive, although problem solving skills can help a lot if you're able to start with the Hard problem every time for instance.
The people who win these competitions are the people who have the best knowledge of algorithms and data structures, and who know their programming language fluently.
The competition itself feels very non-competitive. Most participants are trying to win by performing their best, not by beating everyone else (if you catch my meaning). Outside of the actual coding sessions, everyone socializes (really!), swaps ideas and knowledge, and discusses the solutions that were used in the previous sessions. I saw people get together the next day, pool their knowledge, and come up with a better solution -- this is outside the competition, for the sheer joy of solving the problem.
The IOI does not test teamwork and communication, either positively or negatively. Anyone who has attended an IOI (regardless of whether they won a medal) deserves your attention as an employer, because it's a safe bet that they are a -very- good programmer. You still have to apply all your normal filters (is this guy a jackass, is he a slacker, or is he good for the company), but from my experience at the competition I'd say there's more contestants that would be an asset than a liability.
As a former competitor in the IOI, I wanted to correct some misconceptions regarding the competition format and scoring presented thus far. The competition consists of two rounds with fixed 5 hour time limits. In each round, a contestant is asked to solve three algorithmic programming tasks.
For grading solutions, the only criteria are program correctness and efficiency. To do this, a judge presents the contestant's solutions for each problem with a set of test input cases. For every test case in which the contestant's solution gives the correct output under the allowed program running time, the contestant receives a fixed number of points.
As the test cases vary in their size/difficulty, they allow the judge to evaluate both program correctness and efficiency (only the most efficient programs will be able to solve all the test input cases given by the judge for a particular problem). In some recent IOIs, contestants are given an optimization problem to solve, and a contestant's program is graded based on the optimality of their generated solutions as compared to those solutions generated by programs of other contestants.
In none of these cases is grading ever based on the length of the code or coding speed (unlike the ACM or more recent TopCoder contests). Thus, the IOI is primarily an algorithm design contest rather than a coding competition.
If you're an American high school or middle school student and are interested in participating in IOI in the future, you should refer to the USACO website. The American IOI team is picked from among the best performers on USACO.
If you're not an American student, USACO is probably still worth checking out, as it permits all pre-university students to compete (although only Americans can be considered for the team), and anybody in the world can enter as an observer. In fact, the vast majority of USACO participants are not American.
USACO is also working on making contest divisions that are more friendly to beginners, if you're worried about difficulty.
The slowest coder will get The 3D Realms Award.