Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming Education IT Technology Science

21st International Olympiad of Informatics Opens, In Bulgaria and Online 74

Kostadin Vodenicharov writes "The International Olympiad in Informatics is considered one of the most prestigious programming contests in the world. Currently the 21st IOI is being held in Plovdiv, Bulgaria (which was the country that also hosted the 1st IOI), from 8th to 15th August. High school students from all over the world have gathered to put their programming skills to the test. Everyone else who wishes to participate can do it in the online contest which will run in parallel with the real one and will present the same tasks to be solved. The competition itself is going to take place on Monday 10th August and Wednesday 12th August from 9:00 to 14:00 EEST (UTC+3)."
This discussion has been archived. No new comments can be posted.

21st International Olympiad of Informatics Opens, In Bulgaria and Online

Comments Filter:
  • I remember when my team won the Math Olympiad back in high school. The light hearted competition was what really stands out as the prime motivator for me. Without this kind of competition, we geeks would have just been white wedgied wallflowers with wack Hypercolor t-shirts.

    The kids taking part in this IOI are going to take home something memorable. And hopefully the American teams can learn a little more about the rest of the world.

    • It's also a great way to get a scholarship to a great university, like MIT (no flaming to other schools, insert your favorite school here that gives need-based scholarships to international students)
      From my experience, from the people that I know from Eastern Europe, only those that went to such international Olympiads (math/informatics) managed to get admission to MIT..

      In many eastern-european countries, it's more difficult to qualify for this event than the actual tournament..
      Kudos to those who participat

      • In China, they actually have agreements with top Chinese universities (eg. Tsinghua University, which is sometimes known as the "MIT of China") so that those who perform well in the National Olympiads would *automatically* have a place in University.

        A number of participants in the Chinese Olympiads compete not only out of interest but also as an alternative (or even as their primary strategy) for university admission. I heard the university qualification exams in China is really, really tough, so naturally

  • by kickme_hax0r ( 968593 ) <simon@welsh.co.nz> on Sunday August 09, 2009 @11:56PM (#29007611) Homepage
    They also put us contestants up in the Novotel Plovdiv, supposedly the flashiest hotel in Plovdiv.
  • by D4C5CE ( 578304 ) on Monday August 10, 2009 @01:43AM (#29008041)
    The French coined "informatique" (which the Germans adopted with a k for last letter) so as not to have to say anything like "Computer Science" (they also called their TV "System Essentially Contrary to American Method" for a reason, you see ;-)).

    To assimilate this word back into English which already has a common(-sense) name for the field would probably have made the founding father of Computer Science wonder if he was right about the first part of his famous statement:

    What's in your hands, I think and hope, is intelligence:
    the ability to see the machine as more than when you were first led up to it, that you can make it more.

    Alan J. Perlis

    Then again, the use of "Olympiad" (where -cs would finally have been indicated instead) is probably just as questionable.

    • by Rakshasa Taisab ( 244699 ) on Monday August 10, 2009 @02:50AM (#29008251) Homepage
      Informatics and their equivalents are used all over Europe, and is a much better description than 'computer science'. Like, how much science is there in 'social science' and 'christian science'? None.

      Even in Japanese they call it 'Information Science' (Jyouhou Gakka).
      • The problem is that Informatics is vague and includes things like the philosophy of information and communication and (book) library management and such. Computer science isn't really a science as such but at least it's pretty clearly defined as the study of the mathematical underpinnings of computation.
    • by pjt33 ( 739471 )

      Then again, the use of "Olympiad" (where -cs would finally have been indicated instead) is probably just as questionable.

      That one's easy: they want to avoid lawsuits for trademark infringement.

    • Re: (Score:2, Informative)

      True as it may be, the subject is called really "Informatics" in Bulgaria (I should know, it's my high school major, and I am Bulgarian coincidentally). It is not Computer Science as you understand it, because we didn't study much about e.g. networks, compilers, operating systems and such, but we concentrated really on the fundamentals and theory of programming and related mathematics - writing and testing algorithms, building and testing low-level code in e.g. Pascal or BASIC (on paper, too). Great starter
      • True as it may be, the subject is called really "Informatics" in Bulgaria (I should know, it's my high school major, and I am Bulgarian coincidentally). It is not Computer Science as you understand it, because we didn't study much about e.g. networks, compilers, operating systems and such, but we concentrated really on the fundamentals and theory of programming and related mathematics - writing and testing algorithms, building and testing low-level code in e.g. Pascal or BASIC (on paper, too). Great starter for future programmers, I tell you that. If you haven't written your standard issue quicksort or a customized implementation of Newton's method in 10th grade for a homework assignment, then you wouldn't understand.

        This is actually what most computer science curriculum covers in the US - the theoretical and algorithmic aspects of programming.

  • So did anyone manage do participate in the online contest ? It only shows a blank page to me. Also, what do you think about only allowing 3 languages ? Isn't choosing the best tool available for a task the most important skill for a good programmer ?
    • If you've actually seen the questions, the language does not usually matter.

      It's a competition mainly on algorithms. No fancy language features are needed other than the most basic -- basic arithmetic, array manipulation, function calls, and standard I/O. There's usually no need to do even string manipulation. A solution on any popular language would look pretty much the same, and most solutions, even in the verbose Pascal, are within 300 lines of code, so syntactic sugar is not really that important.

      Howeve

  • by Mindbridge ( 70295 ) on Monday August 10, 2009 @03:07AM (#29008313) Homepage

    Software Development consists of several relatively independent skills:
        - programming (knowing how to use the tools)
        - algorithms
        - architecture and design
        - knowledge of processes (development methodologies, etc)
        - enabling teamwork (allowing many developers to work together)
    etc.

    The IOI competition is for high-school students and tests mainly the 'algorithms' aspect.
    The ACM competition is for college students and tests mainly the programming aspect. (strange, one would think that the aims of those two would be reversed)

    There does not seem to be a big competition for testing the architecture and design abilities, although arguably they are even more important (unless you count the Real World competition). Part of the difficulty perhaps is that it is tricky to come up with an objective measurement. An approach that I have been using is the following:
    - give a task and provide plenty of time
    - at 50% of the time change the requirements of the task slightly
    - at 90% of the time change the requirements significantly
    If proper design has been used, then making appropriate modifications would be easy and the task would be accomplished in time. This closely mirrors the situations in reality.

    • Re: (Score:1, Flamebait)

      by hvm2hvm ( 1208954 )
      If you know your algorithms you can do whatever the fuck you want in informatics (or computer science if you like that term better). All that mambo jumbo about teamwork, architecture and design is something to make people who can't code feel like they know something. I know this sounds like a troll but that's how I feel about this subject.
      • I agree. I've been involved in these programming competitions, and have met people who basically just knew how to code and do well in these competitions and nothing more.

        But when they had to work in the real world, they picked up those other "software development skills" effortlessly.

    • by l3v1 ( 787564 )
      Thing is, you really shouldn't forget where this olympiad originated. E.g. when we were in 1st year in highschool (yes, I'm originally from eastern europe) we already through all basics (c64, q, gw, turbo) and were doing pascal and c, later c++, and during highschool years we had plenty of time and requirements (4 hours math/week, 4 hours informatics theory+4 hours practice/week) for coding all kinds of algorithms with math that reached well into university level (in graph theory, numeric algorithms, and so
      • > As the idea about competition in architecture... well, the ones who can't code :P should also have their competition, so why not? :P

        Heh. I have awards from both IOI and ACM (gold medals, etc) and have significant industry experience, so I feel that I know what I am talking about :)

        Most programmers apparently believe that the best way to make a scalable application is to (re)write it in assembler. The responses to my post seem to prove that point. Perhaps architecture/design competition is more necessar

        • by JMZero ( 449047 )

          Rewriting in assembler would be a very strange strategy from someone who knew anything about algorithms. If I had two programmers, one of them I thought of as a good "designer" and the other I thought of as a good "algorithms programmer", I would trust the latter more to come up with a scalable solution. I would expect a generally bad solution - like rewriting in assembler - to be much more likely to come from someone who had no experience with algorithm competitions.

          Writing scalable algorithms to deal wit

  • by Anonymous Coward on Monday August 10, 2009 @03:17AM (#29008359)

    I look forward to the Special Informatics Olympiad. Especially for all those WTFers who have no natural ability to code, and so have to scratch out a living in eCommerce. It would be good to see them honored.

  • As a contestent in the IOI in Egypt last year I can tell you that the problems you're solving are really, really hard. I estimate that more than 50% of all professional (working) programmers wouldn't be able to solve even one of them. This is becouse this is algoritmic performance programming and not generic functional one.

    To make up the problems they usually take one or more generic problems (like maximum flow), then they add an additional twist that makes the implementation non-trivial. So first of all yo

    • Sometimes coding brute force solutions don't work :) I've seen those problems before, those where you don't even have an idea how to brute force the sample test case.

      And getting 10-30 per task isn't going to earn you a medal, last I checked. But then if I have free time during the 5-6 hour competition, I'd try that as a last resort.

      -- IOI2003 participant :)

      • by Co0Ps ( 1539395 )
        Actually he got a bronze with that strategy, but then again he was able to write a better than bruteforce on one or two problems. Possibly thanks to understanding the problem better brute forcing it.
    • There's an h in algorithm ;)

      I don't quite understand the IOI's emphasis on rote memorization of algorithms ... how well do you think you would be able to do after a few years without reference materials?

      • by Co0Ps ( 1539395 )
        Yeah, tbh I don't understand the deal is with memorization either. You still need to understand the algorithm and how it can be applied to the problem so I wouldn't call it cheating or using irrelevant skills to have a reference material to the common algorithms.
    • "One guy in our team had a great strategy. He ignored in depth analyzation and started writing a brute forcer as soon as he understood the problem. This way he was guaranteed 10-30 points per problem, and usually when writing a brute forcer, you get to understand the problem so well that you can make improvements or even write the correct solution for it."

      That's why this is one of the approach I like:

      1. Implement quick-and-dirty code. You'd encounter good part of issues, both anticipated and unforesee

  • I tried out for the french IOI team this year(didn't make it of course, or else I wouldn't be looking at this I think), and really enjoyed myself just for the workshop and the tryouts. The other guys at the workshop were there obviously to find potential members, but firstly just to teach us programming skills. Not things like how to make a guess game or whatnot, but to learn "useful" skills, namely algorithms, complexity, and problem solving. They also have a site [france-ioi.org] with programming tutorials that don't go t

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...