Slashdot Mirror


2006 ACM Programming Contest Complete

prostoalex writes "World finals for 2006 ACM programming contest took place in San Antonio, TX this year, and the results are in. Russia's Saratov State University solved 5 contest problems in record time, followed closely by Altai State Technical University (Russia) with 5 problems solved as well. University of Twente (Netherlands), Shanghai Jiao Tong University (China), Warsaw University (Poland), St. Petersburg State University (Russia), Massachusetts Institute of Technology (USA), Moscow State University (Russia), University of Waterloo (Canada) and Jagiellonian University - Krakow (Poland) all completed 4 problems."

13 of 180 comments (clear)

  1. Not final scores... by qbproger · · Score: 5, Interesting

    As someone who has their school at the competition, and I'm on the programming team (though my team didn't make it this year). Those are the scores as of one hour left in the competition.

    They don't update the scores during the last hour to keep suspence for the awards ceremony. So this isn't really news at all, and the post is going to be meaningless as soon as they update the standings. I'm expecting them to be posted soon though as I think the awards ceremony ended recently.

    --

    - Joe
  2. One Question & A Short Rant by hyfe · · Score: 4, Interesting
    1. Anybody managed to find the actual test questions?
    It's always interesting to see how advanced these are. Most of the time, I'm really not impressed by the complexity of the assignments, although the optimalization work done by the teams can be pretty 'way-better-than-anything-I-could-ever-do".

    2. If you ever see Russian State Universities at the top of anything, be very, very cautious. I studied at MGU (Moscow State University) for a little while, and it was frankly appaling. They were taught extremely specific skillsets, they knew exactly what they would be tested in in advance of tests and didn't study *anything* else. It was like a game of 'getting through Uni without learning *anything*' which outranked anything I've ever seen back home (or heard of in the US). The methology probably lends itself well to predefined, known tests, but it produces practically useless students.

    (To be fair, here back home, the ones who really learn something are the ones with a real interest in the subject, and they learn most of it outside class. There were really bright people at MGU too. It was the mindnumbingly staggering uselessness of the average student there which amazed me. It was supposed to be a "Top University".. oh, and you had to bring your own toiletpaper if you wanted to take a dump :)

    --
    "" How about taking the safety labels off everything, and let the stupidity-problem solve itself? """
    1. Re:One Question & A Short Rant by arrrrg · · Score: 4, Interesting

      It's always interesting to see how advanced these are. Most of the time, I'm really not impressed by the complexity of the assignments, although the optimalization work done by the teams can be pretty 'way-better-than-anything-I-could-ever-do".

      You must be talking about another contest, on crack, or a super-genius (I won't hazard a guess as to which). I was on the Berkeley ACM team this year, and the International-level problems are HARD ... unless by "complexity" you mean the difficulty of writing a guess-and-check "solution" (which will be exponentially too slow). Usually, coming up with an algorithm with good asymptotic time complexity is the focus, and is very difficult. Almost all of them are not ones you can look at and just say "oh, that's max flow", etc, unlike some of the regional contest problems. And, from my experience at least, optimization is not that important at all. If you get the right algorithm, the problems can typically be solved in well under the time limit without doing anything fancy. If you do the naive thing, no amount of constant-factor optimization will allow the thing to finish before the universe ends. Just my $.02 ... don't take my word for it though, look at last year's problems and see what you think: http://cii-judge.baylor.edu/

    2. Re:One Question & A Short Rant by feijai · · Score: 2, Interesting
      If you ever see Russian State Universities at the top of anything, be very, very cautious. I studied at MGU (Moscow State University) for a little while, and it was frankly appaling. They were taught extremely specific skillsets, they knew exactly what they would be tested in in advance of tests and didn't study *anything* else.

      This is a highly spot-on comment. The problem ACM is now discovering, I suspect, is that in certain countries students at certain universities will work all year to compete in the programming contest, at the expense of all else. And in other (european) countries, the educational system is set up to strongly emphasize the major over breadth, producing students good at a certain vocational task -- computer algorithms, say -- but with no ability in things American students would find basic. The US educational system has a much heavier emphasis on breadth, under the presumption that education should teach you to be the Everyman, not just the Cog.

      It's not at all surprising that the US doesn't perform well in the contest except in its best schools. Comparing the US against Poland only says that Polish students will study nothing but computer science, and settle on this concentration at a fairly early age compared to US students. Comparing the US against China and Moscow realy just says that certain Chinese and Russian universities have entire programs that do nothing but ACM programming contest work in order to get their names on the map.

      This is a problem of how we're spreading the fertilizer. Maybe we should revisit what the ACM contest should be measuring: or its validity in the first place. Imagine a contest that requires students to put together code which does models in several different fields -- everything from economics to the arts -- and you don't know what the fields are beforehand. We'll see Moscow dropping off the ACM map real fast.

    3. Re:One Question & A Short Rant by ovz_kir · · Score: 2, Interesting

      "Dom tehnicheskoy knigi" ("Tech book house") on Leninskiy prospect, 40, should have a lot of CS books in English.

      --
      -- Kir Kolyshkin, OpenVZ project leader.
    4. Re:One Question & A Short Rant by Anonymous Coward · · Score: 1, Interesting

      A book store ?
      You mean a real-life thing with window dressing and all ?

      Stop being a geek. Get social connections and have the asian edition shipped to you.Same book, thinner paper, 40dB down in price.

  3. Re:Ugh not again... by ageforce_ · · Score: 2, Interesting

    You should have a look at the ICFP contest then: http://icfpcontest.org/.
    No prefabricated problems.
    More time to do the job.
    Any programming language.
    ...

  4. I remember it well... by crunchly · · Score: 2, Interesting

    I remember my only entrance into the ACM programming contest. It was the first round of competition. We felt pretty good going in (calling ourselves team "Kwik Fill" after the gas station we stopped at along the way). We were the cream of the crop of the state school we attended.

    The first bump in the road was the compiler on the VAX. "Couldn't it have been a Sparc, or at least a Mac?", I thought, as we spent the first hour of the competition trying to understand how to get the compiler to work. You might ask why we spent the first hour on the system and not working out algorithms to address the problems. To that, I answer: Have you seen those problems?

    By now, the Dew buzz was wearing off. We almost got two programs working and took several pictures of us pretending to toss the VT220 terminal out the window before time expired.

    All in all, it was a good performance. IIRC, we tied for 4th, as one team scored 4 points, two scored 3 points, one scored 2 and we were tied with the other eight teams with 1/2 point.

    After that, I started focusing on networks. Ah, the good old days.

  5. Re:Ugh not again... by wcbarksdale · · Score: 2, Interesting
    Speed is probably the most visible aspect of ACM programming contests, but really correctness is the most important criterion. The scoring system gives you 0 points for something that passes 95% of the tests, and the feedback is not much more informative than yes/no.

    My own experience is three years of regional contests and two at Worlds. The usual allowed languages are C++ and Java.

    In the first year I wrote essentially in the C subset, although I did sometimes make declarations in the middle of a block. If I needed to keep a couple hundred ints around, I would have int x[1000]; usually at global scope, and I often had a 500 line main function with a few occasional gotos.

    During the second year I started modularizing into shorter functions and also making some use of STL containers like vector and map. My code was not particularly object-oriented though.

    In the third year I switched to Java even though hello world and input/output formatting are substantially more verbose than in C. (We usually had 1.3 or 1.4, so no printf.) The time efficiency of an ArrayIndexOutOfBoundsException compared to what C++ would usually give you was worth it.

    Over the years, as I tried to increase my own productivity, my code became more organized and readable. It wasn't a process consciously directed towards good software engineering.

    (My code was rarely very OO, however. For a small, one-person project that doesn't talk to other systems I doubt it's much of a performance gain.)

  6. Appaling by melted · · Score: 3, Interesting

    Yeah, dude, I know why it was "appaling". Because you couldn't handle studying there, that's why. Compared to education in the US, the situation in Russian higher education is completely the opposite of what you've described. Folks are being taught extremely broadly, perhaps with too little attention paid to practical applications of what is taught at times. And you can't narrow down the scope of your education because you _can't_ choose classes. You fucking WILL learn linear algebra, physics, differential calculus, discrete mathematics, etc., whether you like it or not.

    It is expected of students to be able to figure out practical applications on their own. MGU in particular is one of the most hardcore Russian schools that is easily on par with _any_ Western college or university for which here in the US you'd be paying _through the nose_. MGU seems to be specifically designed to produce scientists and researchers, not engineers, though. MIFI, MAI, MSTU and NGU on the other hand focus on generating engineers that get shit done. The reason being, they produce most of Russia's engineers who work on weapons and high tech.

  7. Experience with incompetent judges... by LoveMe2Times · · Score: 3, Interesting

    I am still angry to this day. The "judges" had the wrong answer to one of the problems. Of course, it was the problem that I took for my group. I had it right the first time, within a few minutes. Submit, wrong, time penalty. Hmmm... futz with it a little, submit, wrong, penalty, repeat. In the end, my team came in like third or fourth, due to these penalties. Turns out, the teams that came in ahead of us hadn't even submitted any answers for that problem. Of course, nobody in the competition got it right, and only one other team submitted an answer, I think. What *really* pissed me off, though, is that our fucking school administrators refused to take up the fight on our behalf to have the results changed. If we had hadn't had the penalties, I think we would have been 2nd, and if we'd been credited for the correct answer, we would have come in first. Either way, we would've gone to the next round or whatever. I don't know if this was standard everywhere or not, but they passed out the "official" answers when it was over, so we discovered how we'd been cheated on the way home, and it was trivial to verify that their answer was wrong.

    However, I must agree with some of the other posters: it's not so much a programming competition. It's more of an algorithms and standard library memorization competition. I seem to recall that knowing *all* the ins and outs of the printf family of functions was pretty important. Looking at the site now, it looks like they provide docs for the standard libraries, I don't think this was the case where I went. Anyway, it's important that you know that Java has a regular expression parser as part of the std lib (and therefore usable in the contest) while C++ doesn't. In real life, if you need a regular expression parser, you go get one. Additionally, looking at last years problems, for example, one of them is a straightforward application of a shortest-path algorithm. Do I remember the inner workings of the common graph algorithms? No, I don't use them very often. But I have my reference book handy if I need it. 99% of the time, I'll just use boost::graph. That problem could be solved quite trivially in 20 minutes with boost::graph. If you want to test my knowledge of graph algorithms, that's fine. My algorithms textbook has many exercises which do just that. Just don't call it a programming test. Everything in my algo class was pen and paper. In fact, if you're a real progammer, and you didn't use boost::graph (or something similar) to solve that problem, you deserve to be fired. Writing your own from scratch is a horrible waste of time and a maintenance nightmare. In fact, the boost libraries probably trivialize a number of ACM problems, what with graph libraries, matrix libraries, parsing frameworks, regular expressions, state machines, and so forth. A programming contest would force you to use these well, not re-write them.

  8. Sore Losers, really sore losers by theolein · · Score: 2, Interesting

    I am not surprised but still kind of irritated that almost all of the comments here revolve around either rationalising away the fact that no american team was at the top or being directly insulting of foreign universities.

    You americans are a bunch of wet nappies. You take a fucking programming and problem solving contest personally even though none of you were actually there. Not only that but you take it personally on a national level, as if your patriotic pride were somehow damaged because of this.

    America is a country that has lots of strengths, such as competitiveness, but also lots of weaknesses. such as an almost total inability to lose with grace.

    Maybe it's a good thing that (you americans)(sic) lost this competition.

  9. Re:GO USA!!!!!!! by Tekzel · · Score: 3, Interesting

    Whoa, I can't believe you had the nerve to say that stuff. Didn't you know its currently the height of fashion to hate the USA? Guaranteed to get you modded down.