Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Geek Olympics Code for Gold 243

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."
This discussion has been archived. No new comments can be posted.

Geek Olympics Code for Gold

Comments Filter:
  • and in other news.. (Score:4, Informative)

    by gl4ss ( 559668 ) on Wednesday September 15, 2004 @10:05PM (#10262250) Homepage Journal
    the paraolympics are opening on 17th.

    in athens.
  • Re:Why RH9 ? (Score:2, Informative)

    by mbrewthx ( 693182 ) on Wednesday September 15, 2004 @10:11PM (#10262295)
    I think It would give an even footing when you take into consideration that if you have to install the system as part of the competition it would take the same amount of time to get RH9 and XP up to date..
  • by green pizza ( 159161 ) on Wednesday September 15, 2004 @10:12PM (#10262300) Homepage
    My guess is they're not supporting it because the default install of Mac OS X 10.3 Panther doesn't yet include all of the goodies that developers want.

    Here's what my buddies and coworkers complain about:
    • X11 is still not installed by default.
    • 10.3 comes with an older version of Xcode (1.0 I think). The newest version (1.5 I think) has to be downloaded from Apple's website, requring a free-but-time-consuming Developer Online Membership.
    • Version number questions. Many OS X users are still hanging on to 10.2.x because it's almost as fast and almost as good looking as 10.3.x. Many are waiting for 10.4 Tiger, and some developers are already using developer seeds of 10.4.

  • well.. (Score:4, Informative)

    by toomin ( 793701 ) on Wednesday September 15, 2004 @10:14PM (#10262310)
    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.. =)
  • Not Olympics (Score:3, Informative)

    by sometwo ( 53041 ) on Wednesday September 15, 2004 @10:29PM (#10262401)
    Don't call it an Olympics or you'll get sued by the IOC faster than you can say it.
  • Re:No MacOS X? (Score:2, Informative)

    by green pizza ( 159161 ) on Wednesday September 15, 2004 @10:37PM (#10262450) Homepage
    I use Xcode on a daily basis. For non-GUI apps, it's a very nice IDE, I enjoy using it. I use C and C++ without any problems.

    Designing GUI apps with Xcode is another story. While it's easier than writing oldschool classic mac gui apps, Apple's Cocoa (NeXT) API isn't much fun to work with. As you pointed out, it's certainly no Qt or GTK. I would put it on par with Microsoft garbage for fun/ease-of-use.

    Historically speaking, the Cocoa API, Obj-C, and Xcode itself all come from NeXT. These were nice tools back in the NeXT days, but I honestly think Apple made a step backwards as they updated/enhanced them for Mac OS X. They're not _bad_, they're just not all that great.

    Welcome to computing in 2004, everything's a tradeoff, moreso than ever before.
  • fastest coder??? (Score:3, Informative)

    by Anonymous Coward on Wednesday September 15, 2004 @10:43PM (#10262475)
    More like fast thinking, puzzle solving skills, knowledge of algorightms, data structures and math (especially combinatorics), concentration under stress, debugging, and even some luck.

    I suck at coding fast, type with few fingers, and pause all the time to mentally execute the code. Got gold in 1991 :) From what I've seen, format of the competition and problem scope hasn't changed that much since then.
  • Don't forget ICFP (Score:3, Informative)

    by Captain Tripps ( 13561 ) * on Wednesday September 15, 2004 @10:53PM (#10262517)
    Those too old for this competition or the ACM version [baylor.edu] should check out the ICFP programming contest [slashdot.org]. You can work from home, using any language you want, and you have three days to complete the task the give you (24 hours for the lightning division). Typically people work in small teams and use exotic stuff like Dylan [gwydiondylan.org], although last year's winning entry was in C++. If you win, you get a cash prize and the judges pronounce your implementation language "the programming tool of choice for discriminating hackers."
  • by Lancaibheal ( 813222 ) on Wednesday September 15, 2004 @11:01PM (#10262544)
    Speed does not necessarily indicate quality. I'll take a slow, but steady programmer any day over someone who outputs crud at great speed. Then again, I'd take someone who can generate good code quickly above those two - but when speed is your primary objective, like it is here, you're not likely to get particularly good quality code.
  • Re:Great! (Score:2, Informative)

    by Anonymous Coward on Wednesday September 15, 2004 @11:05PM (#10262559)
    This picture was taken at IOI 2000 (China): DDR at IOI [dominicbattre.de] not kidding ;)
  • Re:Yey Baby! (Score:3, Informative)

    by Aardpig ( 622459 ) on Wednesday September 15, 2004 @11:27PM (#10262674)

    Most of the female geeks I've met haven't looked much better than their stereotypical male counterparts.

    Hurrah! Yet another opportunity to post a gratuitous link to the gorgeous ubergeekbabe Ceren Ercen [spilth.org]. She turns my y-fronts into y-nots!

  • Re:if you win... (Score:2, Informative)

    by MadHobbit ( 68381 ) on Wednesday September 15, 2004 @11:41PM (#10262785)
    The guys that won the years I participated used C. The Pascal and QB users were still competitive, and near the top, but I'm pretty sure the people in the #1 positions used C both times.

    This was one of the events that defined my current opinion that good coders can and do code well in any language.

    And while the -top- guys probably could do your data strucutres homework, most participants (like myself) had no formal algorithms and data structures training. Looking back on my solutions, there's things I recognize as mutated forms of Dijkstra's algorithm, and linked lists, and trees, that I had invented myself for the problem at hand. Knowing the general form is much more efficient, but I can't help think that formal programming training has really cramped my creativity :)
  • by Anonymous Coward on Wednesday September 15, 2004 @11:42PM (#10262797)
    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.
  • Re:why rh and winxp (Score:2, Informative)

    by MadHobbit ( 68381 ) on Wednesday September 15, 2004 @11:44PM (#10262804)
    Appropriate tools are supplied. When I went, it was Windows-only. You could use QuickBASIC, Turbo Pascal, or Borland C. The IDEs for all three are/were entirely acceptable.
  • by MadHobbit ( 68381 ) on Wednesday September 15, 2004 @11:50PM (#10262863)
    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.
  • by doeth ( 640661 ) on Wednesday September 15, 2004 @11:55PM (#10262896)
    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.
  • by doeth ( 640661 ) on Thursday September 16, 2004 @12:12AM (#10263001)
    Point well taken. As a former competitor in the IOI, however, I can vouch that the contest is NOT a speed programming contest. In fact, contestant scores are based solely on the performance of compiled code in terms of correctness and efficiency. While it is true that the contest is given with a fixed time limit for program development, a significant portion of that time is spent on algorithm design rather than coding. For most competitors, the differentiating factor is not the ability to finish writing a program in the allowed time but rather the ability to come up with the optimal algorithm for solving the problem. This is pretty different from some of the more recent programming contests such as the ACM or TopCoder in which coding speed is paramount. The winners of the IOI are those individuals able to successfully design and implement the best algorithms for solving the presented tasks. As a caveat, it is true that correct and efficient code may not always be particularly readable or maintainable. Elegance of program design is not a criterion for IOI grading but is an element in some of the more recent TopCoder competitions.
  • by T.Hobbes ( 101603 ) on Thursday September 16, 2004 @01:00AM (#10263285)
    For the rest of us, there will be an on-line public competition hosted through the Valladolid site [acm.uva.es] and run by the University of Waterloo [uwaterloo.ca]. The next one is on the 19th (3 days away!), free, and everyone can register [uwaterloo.ca]. Stock up on doritos and join in the fun!
  • Re:No MacOS X? (Score:3, Informative)

    by laird ( 2705 ) <lairdp@@@gmail...com> on Thursday September 16, 2004 @01:14AM (#10263343) Journal
    Maximizing windows on the Mac works just fine, but with a different definition than Windows.

    Specifically, Apple's belief is that the user should always be in control, not the application or computer, so applications always run within windows that the user knows that he can control, not (except for videogames and media players, and even then only under user control) taking over the full screen. Under MacOS, maximizing a window makes it as large as it needs to be to display the window's contents without taking over more than it needs of the screen, and always leaves the user able to control the window position and size.

    Under Windows, maximizing a window always takes over the full screen, obscuring everything else, locking the resize controls, etc.
  • USACO (Score:5, Informative)

    by Aerion ( 705544 ) on Thursday September 16, 2004 @02:04AM (#10263532)
    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 [usaco.org] 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.
  • Re:Yey Baby! (Score:4, Informative)

    by HughsOnFirst ( 174255 ) on Thursday September 16, 2004 @02:13AM (#10263555)
    Well the original Olympics were conducted in the nude, but women weren't permitted as participants or spectators under penalty of death.

    Nowadays, you get a huge flap over a handful of naked Romanian gymnasts.

    http://www.google.com/search?sourceid=mozclient&sc oring=d&ie=utf-8&oe=utf-8&q=Romanian+gymnasts++nud e [google.com]

I've noticed several design suggestions in your code.

Working...