Slashdot Mirror


29th ACM Intl. Programming Contest Results

mathinator writes "The 29th ACM International Collegiate Programming Contest World Finals, hosted by China's Shanghai Jiao Tong University, are now over and the results are in. Congratulations to the top 4 teams who will be walking away with gold medals. They are Shanghai Jiao Tong University, Moscow State University, St. Petersburg Institute of Optics and Mechanics, and Canada's University of Waterloo (coming in at 1, 2, 3, 4 respectively. The top 4 get gold medals). Regional champions are: University of Waterloo, Canada (North America); Moscow State University, Russia (Europe); University of Cape Town, South Africa, (Africa and the Middle East); Instituto Tecnologico de Aeronautica, Brazil (Latin America); Shanghai Jiaotong University, China (Asia); and University of New South Wales, Australia (South Pacific)."

80 of 436 comments (clear)

  1. Bottom Line ... by foobsr · · Score: 2, Insightful

    More outsourcing to come in areas more sophisticated than in codemonkeydom.

    CC.

    --
    TaijiQuan (Huang, 5 loosenings)
    1. Re:Bottom Line ... by Ced_Ex · · Score: 2, Insightful

      Are you looking for an excuse? Just face the facts that Americans did not place well in that contest. No need to justify it.

      If you're still looking for excuses, consider that the programming languages used were probably based in English.

      Oh, also consider that a Canadian team placed.

      --
      Live forever, or die trying.
    2. Re:Bottom Line ... by foobsr · · Score: 2, Interesting

      Something is fishy about those results. Think about it.

      Even if so, it is a good "recruitment activity" for the sponsor (IBM).

      Americans tend not to be well traveled (at least outside the country)...

      The times they are a changing; when I was younger than today, the "American in Paris" (my age) was also to be seen in the rest of Europe in crowds, at least it seemed so. The bias then was that US-Americans are "well travelled".

      CC.

      --
      TaijiQuan (Huang, 5 loosenings)
  2. Wow, no US teams placed! by HeelToe · · Score: 4, Interesting

    Not sure if it's surprising or not.

    Is it the lack of quality programs these days or lack of interest on the part of highly talented students to participate?

    1. Re:Wow, no US teams placed! by joshdick · · Score: 5, Insightful

      You shouldn't judge programmers of CS curricula based on these competitions. The problems are all very academic in nature rather than practical (I've competed in the ACM for two years now). Also, some schools spend all year preparing for the competition, offering classes in it, whereas other schools don't put quite that much into it.

      Furthermore, the results of a single competition is hardly any reason to pass judgement on CS students nationwide.

    2. Re:Wow, no US teams placed! by rbarreira · · Score: 4, Interesting

      I mostly agree with what you say, but I think those contests are partly a good indicator of how good a programmer is. There are 2/3 components which are necessary to win a competition like this:

      - Knowing how to program fast and flawlessly
      - Knowing a lot of data structures, and knowning how to choose the right one for a problem (mainly trees, tries, hash tables, vectors, linked lists, graphs and ocasionally special data structures for geometrical data)
      - Knowing how to solve some classical problems, mainly in dynamic programming and graphs, where a lot of problems are used again and again in those contests (though with variations or presented in an obsfucated way).

      I'd say that the first two are indicators of knowing how to program well. The third one is more discussible, since there are a lot of schools which prepare their contestants to know those algorithms by heart... I'm not saying they don't understand them, but that component alone doesn't show much ability to me :)

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    3. Re:Wow, no US teams placed! by joshdick · · Score: 2, Interesting

      "Knowing how to program fast and flawlessly"

      Fast maybe, but flawlessly definitely not. The speed restraint of the competition causes participants to hack their way through their problems any way they can. Good programming practices go out the window immediately.

      "Knowing a lot of data structures"

      I'll give you that one.

      "Knowing how to solve some classical problems"

      Why memorize the answers to solved problems? Most students in the competitions I've been to don't worry about memorizing answers. We all just bring our Data Structures and Algorithms books with us instead.

      Oh, and if you think those three things are all there is to being a good programmer, well, I just don't know how to respond to that.

    4. Re:Wow, no US teams placed! by wviperw · · Score: 4, Informative

      Actually, this is the INTERNATIONAL Collegiate Programming Contest. The way it works is that each country is split up into regions. The first round consists of regionals and the qualifiers move to the final round where they compete against the top teams from other countries. So, in a sense, this *was* a US-based competition for the first round.

      --
      Nothing disturbs me more than blind loyalism towards some unrealistic and over-idealistic notion of one's nationality.
    5. Re:Wow, no US teams placed! by pavon · · Score: 2, Informative

      Probably has more to do with students being inclined to compete in the various US-based ACM competitions rather than travel to China.

      That's not true. The way the contest works is the world is broken up into regions. The people who place first and second at regionals (and occasionally a few honorable mentions) are allowed to move on to the international competition.

      Here are the regions for North America, and here are the list of teams that went to compete in the international competition - 11 North American regions, 25 North American teams. I sincerely doubt that anyone who won a regional competition here in the US would forgo the opportunity to compete in the internationals, and if they did, I think the third place team would go in their place.

      The US did send teams, they just didn't win. Oh, and if you look at past contests you will see that they schools that did well this year, have historically dominated the contest.

    6. Re:Wow, no US teams placed! by Anonymous Coward · · Score: 2, Insightful

      US does well in international contest: "This proves that the US is the greatest nation on Earth."
      US does poorly in international contest: "Who cares about stupid competitions? We didn't want to win anyway."

      Childish responses.

      Here's the adult response - WE TRIED TO WIN AND WE DIDN'T, thereby proving that America is Just Another Country. I doubt many of the Russian or Chinese students who thrashed the US teams in this contest did so because they wanted to get US jobs -- since those jobs are going to be outsourced straight back to Russia and China anyway!

    7. Re:Wow, no US teams placed! by drgonzo59 · · Score: 5, Interesting
      It's like with any test. If you pass, the first thing it shows is that you can do _that_ particular test well. Of course the reason for the test is to show that you are knowledgeble in the whole domain that the test was compiled from, but that is a speculation. You are right, I can spend the whole year, doing nothing but learning all the algorithms that might show up on the exam, and practice to solve a common set of problem fast, sothen I migth do well on that contest, but I might still not do well in general in college or workplace.

      That said, I also happen to be from Russia, and I can say that in general education system there is more thorough and more focused on the science than here in US (I went to schools in US too). Here all schools seem to be doing is try to make students comfortable, they have a hundreds of clubs and activities for after school. Everyone and their little brother wants to play sports or play in the band first then study. Schools try to be fun, instead of trying to make student learn something usefull. I remember coming to this country and doing my sophomore grade in fairly good high school, but I had to take calculus with the graduating seniors and I remember tutoring them in math even though I was an average student at home in that subject.

    8. Re:Wow, no US teams placed! by rbarreira · · Score: 2, Informative
      http://icpc.baylor.edu/icpc/Finals/About.htm

      World Finals Computing Environment

      The World Finals programming language tools include Java, C/C++, and Pascal. See the Programming Environment Web Site, for detailed configuration information. Prior to the World Finals, the judges will have solved all problems in Java and C/C++, but not necessarily in Pascal. The decision to drop Pascal as a 2006 World Finals language will be ratified at the 2005 World Finals.

      Each team will be provided with a single computer and a calculator. All teams will have equivalent computing equipment.

      Contestants may not bring any printed materials or machine-readable versions of software or data to the Contest Area. Contestants may not bring their own computers, computer terminals, calculators, or other electronic devices to the Contest Area.

      Each team member may bring an unannotated natural language dictionary. On-line reference materials will be made available as described at the Reference Materials Web Site. Each team will be permitted to provide a PDF file of up to 25 pages of notes within the limits described at the Team Certification Web Site. Details are provided at On-Site Registration Instructions.


      It's 25 pages then, instead of 5 :)
      Other things which seem to be new - they give a calculator now, it should be handy, and Pascal seems to be falling off the cliff...
      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    9. Re:Wow, no US teams placed! by mindstrm · · Score: 2, Insightful

      Academic? It's Computing SCIENCE for crap sakes. it should be academic. If they just want to turn out technicians, there are far better, faster ways to do that.

      CS should turn out science-oriented poeple, not technicians and code monkeys.

    10. Re:Wow, no US teams placed! by j0nb0y · · Score: 2, Interesting

      Interesting. You're right about books not being too useful. I think I could've definitely gotten everything I needed in 25 pages with a bit of preparation. I had wanted to bring a "solved problems" binder, but just didn't have time to prepare it.

      We did miserable at the contest. We just weren't prepared for the difficulty of the problems. The difference between regional level problems and worlds level problems is huge. Afterwards we found out that our professor had been feeding us only the easier problems in practice, because he was afraid of us taking too much time to prepare. The tough part was balancing the college course load and trying to prepare. Looking back, I know I didn't put nearly enough time in to do well.

      Ah well, I was on the only team from Messiah College to ever make it to World Finals (before or since), so I'm happy we made it as far as we did. And I can hardly complain about the free trip to Hawaii that resulted =]

      --
      If you had super powers, would you use them for good, or for awesome?
  3. More details by AtariAmarok · · Score: 2, Funny

    The contest is in virus form. If you have Internet Explorer, you will find the winners on your machine any time now. It's great that the whole world will be able to participate in this contest.

    --
    Don't blame Durga. I voted for Centauri.
  4. Re:Wow im amazed by j0e_average · · Score: 5, Funny
    Ironicly, they dn't offer SE[x] on main campus.

    You'll find that to be the case with most CS depts. You'll need to study law if you want to screw people.

  5. No Mountain Dew by jbeaupre · · Score: 4, Funny

    Lack of Mt. Dew puts US programers at a serious disadvantage.

    --
    The world is made by those who show up for the job.
  6. Attitude by jkxx · · Score: 3, Insightful

    This doesn't really mean anything by itself. However, it's worth mentioning that the individual attitude is different in the rest of the world than it is in the U.S. (For example, the students at the Shanghai U. might be a bit more motivated to prove their talents than the students in the U.S. thanks to some social doctrines going around in the region).

    1. Re:Attitude by Anonymous Coward · · Score: 2, Interesting
      Spoken like a person who has never travelled outside his home state. That's right, Americans work (and lose) with the doctrins of freedom and capitalism whereas "the others" win because they will be skinned alive if they don't come back with the gold.

      It is also a well known fact - and, actually, one that should make you ashamed of your country - that the vast majority of graduate students in science are not Americans. Much like in economy, the world supports your first place.

  7. Re:Funny stuff about this contest... by kahei · · Score: 5, Insightful

    So well let's assume this is a fair test of programming skill, why is it that an Islamic state's team, Sharif University of Technology, beat out not only the top technical university of India (IIT) but all of the US's Ivy League schools -- not just MIT and CalTech?

    Hmm, maybe they solved more problems in less time.

    (The above is of course just a theory. It could be a global conspiracy against America).

    --
    Whence? Hence. Whither? Thither.
  8. Not so sad? by AtariAmarok · · Score: 5, Informative

    If you look at the "Top 4", you will see that the region groupings only allows one winner from North America. A Canadian college got this one, but there are US schools in the results list of runner ups.

    --
    Don't blame Durga. I voted for Centauri.
    1. Re:Not so sad? by sk8king · · Score: 4, Informative

      Canadian University. Waterloo is THE post-secondary institution for math and computer science in Canada. Or at least that is my impression of it.

    2. Re:Not so sad? by dnesan · · Score: 2, Informative

      If you look at the "Top 4", you will see that the region groupings only allows one winner from North America. A Canadian college got this one, but there are US schools in the results list of runner ups.

      this is incorrect. The top 4 are the top teams from the finals. There were US Teams there as well (U of Illinois placed tied for 17th). While you're correct that there were winners of each regional, as UWaterloo won the North American regional, they were not the only N.A. team at the finals in Shanghai.

      Just to cement it, UWaterloo's B team was second in the regional, but since only one team per school is allowed at the finals, they didn't get to attend.

  9. List of problems by LordFoo · · Score: 4, Informative

    The complete list of problems can be found here, along with some sample inputs/outputs (usual format for these types of contest).

  10. Finals Problem Set by mparaz · · Score: 4, Informative

    The finals problem set (PDF) is at the finals home page.

  11. Re:Not a single U.S. school by 0kComputer · · Score: 3, Interesting

    Why? Because it didn't place a team in a coding competition? I wouldn't judge a countries technical ability based on something as abstract as this.

    I havent read the article due to slashdotting but something like a programming competition seems very odd. I'm not sure how you could objectively measure something like this, and even if you could; as a programmer I can say that the most important quality to have is imagination or innovation, not the ability to sling the technically best code.

    --
    Top 10 Reasons To Procrastinate
    10.
  12. UWaterloo by Antyrael · · Score: 3, Informative

    Glad to see "Canada's Top Math and CS University" is pulling in good results overseas too. ;)

    --
    Expectations are for the unprepared.
  13. Re:programming is a labor job by Anonymous Coward · · Score: 3, Insightful

    Mediocre programming is perhaps a labour job but I would take one brilliant programmer over five mediocre ones.

  14. Re:Funny stuff about this contest... by ari_j · · Score: 4, Interesting

    It's not anywhere near fair. Our ACM chapter competed a few years ago. We didn't make it past the first round on account of getting one problem "wrong." By "wrong," of course, I mean that we produced a better solution than the judges had, and some other teams produced the same, non-optimal solution that they had, so we were wrong. I later sent in a detailed proof of our answer's correctness as the unique optimal solution, but we never heard back.

    For what it's worth, that problem was "Given a list of latitude and longitude points on the surface of Mars, which has radius R, what is the minimum total length of cable needed to connect those points to form a network, if the cable is 1m above the planet's surface? Assume that Mars is spherical."

    To this day, I have no idea what the "correct" answer was that took several hundred more meters of cable than our solution did.

  15. What this shows is that... by M3rk1n_Muffl3y · · Score: 3, Funny

    ...Communist (or ex) countries produce better programmers. Maybe it's because once you've tried commanding a whole economy, programming seems trivial by comparison.

    --
    This is not the sig you are looking for...
  16. Interesting tidbit by Anonymous Coward · · Score: 3, Interesting

    One of the Michigan Tech. team members was none other than Joe Nievelt one of the RIAA's "best friends"

  17. Do the problems relate to real life? by CastrTroy · · Score: 2, Interesting

    These competitions seem to be very academic. Do they relate to programming in the real world? Although I applaud the people who won, I don't think that these are the right kind of competitions to be training people for. They should have a real open source design competition, where contestants are graded on the outcome of a large project. Extra points could be given for showing good use of testing, as well as good documentation and coding. You could also look at the use of special algorithms developed, but don't base all the points on this. There's more to programming these days than fancy algorithms.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    1. Re:Do the problems relate to real life? by SomPost · · Score: 2, Insightful

      The problems do relate to "real world" life insofar as you might be faced with problems like these during a job interview with companies such as Google.
      Although I don't think that you'll necessarily get the best people by relying too heavily on their abilities to solve such puzzles quickly (i.e. during an interview session), Google certainly does.
      In fact, they might want to know how you approach the problem if there are 5 billion instead of 5 items in the puzzle ;-)

    2. Re:Do the problems relate to real life? by timeOday · · Score: 2, Funny
      These competitions seem to be very academic. Do they relate to programming in the real world?
      No, the competition problems are much more interesting. They should restrict the competition to writing Visual Basic report generators for Access. Also they should change the assignment 30 minutes before it's due. Finally, the winners should be sent away without any award while the judges sell the software to pay for their new mansions.
    3. Re:Do the problems relate to real life? by gvc · · Score: 2, Insightful

      Give me a break. And basketball players should better practice lifting Glad bags into dumpsters to better prepare themselves for careers in "sanitary engineering?"

      The ICPC is sport. Through the years they have developed a set of rules that make it interesting and balanced. Those who win are good programmers in the same sense that basketball players (or soccer players or whatever) are good athletes.

      There are many different sports with many different rules. Winning in any one indicates excellence.

  18. Re:Funny stuff about this contest... by erikkemperman · · Score: 5, Insightful

    let's assume this is a fair test of programming skill, why is it that an Islamic state's team, Sharif University of Technology, beat out not only the top technical university of India (IIT) but all of the US's Ivy League schools -- not just MIT and CalTech

    I sure hope I misunderstood you there: do you mean to suggest that "a fair test of programming skill" could not possibly have a winner from an Islamic state? Just so we're clear on this, I don't know whether this competition is fair or not (other posters seem to think not) but why would religion have anything to do with it?

    --
    Gosh, thanks. That must be why the other ships call me Meatfucker -- GCU Grey Area (Eccentric)
  19. Look pretty realistic to me by CaymanIslandCarpedie · · Score: 5, Interesting

    To begin, no I didn't attend any of the places mentioned in this article so I'm not biased.

    Now the host placing first may seem a bit suspicious, but the other universities in the top four certainly lend some credibility to it.

    I've worked with a number of russion developers which have come from those universities and they were quite brilliant. It seems they actually teach math and physics there, what a concept! ;-)

    I personally rate the University of Waterloo (in Canada) the top computer science university in North America. Yes high profile places like MIT have some brilliant people, but I've found the University of Waterloo has the most consistant quality of graduates. If you look at the accomplishments of Waterloo grads it pretty impressive. Research In Motion (Blackberries) are probably the most well known company founded by UofW grads, but there are lots of others which are also very impressive. Thier policy on requiring LOTS of real world experience for the degree and work/research opportunities in there technology park also gives lots of great experiance.

    I've found UofW grads aren't those "fresh out of college" types who have some book knowledge, but not much practical experience. They tend to walk out after graduating ready to REALLY contribute instead of needing a lot of "mentoring" which most fresh grads need (I know I did).

    --
    "reality has a well-known liberal bias" - Steven Colbert
    1. Re:Look pretty realistic to me by zx75 · · Score: 2, Interesting

      Thank you :) I'm a UWaterloo CS student who is graduating at the end of the month.

      To address your very last point about not being 'fresh out of college' types, I believe this is mostly due to our co-op program. The vast majority of CS graduates went through the co-op program which over 5 years includes 6 terms (2 full years) of work experience. Luckily most positions, especially for upper year students, are industry development positions. First year students usually end up doing tech support or some such work, but the variety of companies that come to Waterloo looking for co-op students is amazing.

      --
      This is not a sig.
    2. Re:Look pretty realistic to me by Skyhawkelite · · Score: 4, Informative
      Hey, this is my first post ever in Slashdot :P. Anyways, I am a UofW engineering student and I'd like you to know a bit about my University and Canada.

      University of Waterloo is THE top school in Canada according to Maclaens and is THE top University in Canada for Engineering + CS. The University has the largest Co-op education service in the world. All engineering students and CS students have Co-op every other term. I'm on my co-op term right now. The University's main goal as of now is to ready its students for the work force. We gain 2 years work experience by the time we graduate.

      The University is very young (I think found in 1957) and has rapidly grown because of its connections with companies like RIM and COM DEV. Our Chancellor is the President of RIM! RIM Headquarters is next door to us. Across the street we have the Perimeter Institute for Theoretical Physics.

      Also, UW is the recruiting ground for M$ (maybe we all hate them, but meh). A lot of the top engineers and programmers in Canada come from UW and end up in the states due to nice offers and oppurtunities. We call that the "Brain Drain."

      UW DOES NOT have courses or teachings that are directed towards contests. The courses are extemely rigourous with high expectations. All courses force a lot of critical thinking. We take Math and Science seriously here.

      UW conducts nationwide math, physics, and chem contests to high schoolers as well. In Engineering you have to write an entrance math test (which most people fail, but its Bell Curved). If your below standards, they offer mandatory math tutorial services to you. We also recently placed 4th in PUTNAM math comepetition.

      Also, addressing the jokes about US being beaten by Canada: Canada has played important roles in science and engineering. Especially since the layed off workers from the Arrow project worked on NASA's Mercury and Apollo missions. That's right, it's our engineers and scientists that helped US get to the Moon. The Arrow project in itself is a great feat for Canada. Arrow was for more advanced than any US aircraft for very long time.

      Currently, UW is looking towards raising funds and improving our Graduate programs to become top notch like MIT. We are also investing quite a lot of money to bring top professors in. UW is already good enough to be treated like an Ivy League school in my opinion. However, once we do invest in research I can garantee 50 years from now it will be well known and respected Internationally.

      O, by the way...I'm an American :P.

  20. Re:Funny stuff about this contest... by johannesg · · Score: 3, Insightful
    So well let's assume this is a fair test of programming skill, why is it that an Islamic state's team, Sharif University of Technology, beat out not only the top technical university of India (IIT) but all of the US's Ivy League schools -- not just MIT and CalTech?

    One reason I can think of is because they really are better now. Don't forget, there hasn't been any good reason to study computer science in the US for a while now, unless you _enjoy_ flipping burgers of course. On the other hand, the countries to which all that work is outsourced have a strong need to produce more and more competent programmers. The result is a loss of competence in the US, in favor of those other countries.

  21. Woo Waterloo!! by taneem · · Score: 5, Informative

    I'm a Waterloo student and it's awesome to see how we did. Waterloo competes regularly and has had a winning place several times before.

    As for the people who have been insinuating that the Shanghai Jiao Tong University rigged the results, take a look at the past winners page. They were the winners in 2002 as well (hosted in Honolulu).

    As for the actual problem set: it can be found (PDF)here.

    1. Re:Woo Waterloo!! by Ced_Ex · · Score: 2, Insightful

      We could be judging sychronized swimmming for all that it is worth.

      The point of the matter is, is that we shouldn't be so quick to jump to conspiracy theories every time a host country wins a competition. Unless there is some glaring wrongs that are evident, we shouldn't taint their victory with insinuations, accusations, assumptions, suggestions...etc.

      Be good sports about not winning and congratulate the winners.

      Just seems like a lot of people here are pulling excuses out of magic hats to justify wins and losses.

      --
      Live forever, or die trying.
    2. Re:Woo Waterloo!! by Ced_Ex · · Score: 2, Insightful

      Perhaps you should read into your OWN posting and think again.

      You think you are not insinuating cheating. Instead you merely mask your insinuations as a suggestion that outside factors contributed to their win and not merely their talent.

      If you're not, why do you even bother bringing up things such as language, or cultural bias? You're insinuating that if this weren't the case, the China team would not have won or have answered all 8 questions.

      Could it not cross your mind that simply the Chinese university did well? Would you have this same suspect in a flaw had it been another country answering all 8 questions? The Chinese university team have had a very good record in the past competing in other locales, one of which in 2002 was in Hawaii. Perhaps you could look into the bias there too while you're at it.

      It's not worth looking into as it is a non-issue. You continue to try to put some spin to their win, but please, stop already.

      --
      Live forever, or die trying.
    3. Re:Woo Waterloo!! by gvc · · Score: 2, Insightful

      I answered this previously but I can't let this stand.

      ACM ICPC is an American organization. It has complete control over the problem set and judging. Contest Executive Director Bill Poucher at Baylor University (Waco Texas) will personally vouch for the results.

      Poucher is very well aware of the politics of international competition and that everything has not only to be fair, but seen to be fair.

      There is absolutely no chance that our hosts could have influenced the result and the suggestion is offensive. To Jiao Tong, to Bill Poucher, and to me.

      Gordon Cormack
      coach
      Waterloo

  22. Re:Not a single U.S. school by Washizu · · Score: 5, Informative

    "I'm not sure how you could objectively measure something like this"

    I did the competition in 2001 when I was in college. It may be slightly different now, but back then each team of 3 students got 9 problems and an hour to code solutions on one machine. You submitted your code to a server and it compiled it and ran it against unknown input and output (we knew the parameters, but not the actual input). Success/failure notices, or compilation errors were quickly IM'd back to you.

    The team is scored using this criteria
    1. Number of problems solved
    2. The total time taken before submitting correct answers + any penalty minutes for submitting incorrect or incompilable code.

    So a team who got 9 questions right in a half hour would score better than a team who got 9 right in 45 minutes.

    (As for how we did, we were able to solve 4/9 questions and tied for 17th place. Results here. I was on the American University team, AU One)

    --
    OddManIn: A Game of guns and game theory.
  23. I competed once... by bdbolton · · Score: 4, Informative

    I participated in the southern regional ACM programming contest. GaTech won with Florida coming in second. The questions are extremely hard. We solved one problem. They give you 5 lines of test data but when the judges test it they will use hundreds of lines of test data. Not only must your program be correct it must also be fast (less than 3 minutes)

    oh and honorable mention means you didn't solve any. Take that Tech! ;)

    -Brian

    1. Re:I competed once... by kaszeta · · Score: 2, Interesting
      I participated in the southern regional ACM programming contest. GaTech won with Florida coming in second. The questions are extremely hard. We solved one problem. They give you 5 lines of test data but when the judges test it they will use hundreds of lines of test data. Not only must your program be correct it must also be fast (less than 3 minutes)

      That's what I liked about the programming contest (I was on Michigan State University's team in '92 and '94, going on to the Finals in '94). Virtually every problem they gave us in either regional or at Finals I could code up a solution for in under 10 minutes---if I was going to brute-force it. For most of the problems, the difficulty was to code it in an efficient (speed, memory, or both) manner, and that's what they were really testing.

      For example: given a random set of N pairs of integers (coordinate pairs), give the largest number of points that are colinear. Incredibly trivial to write as a brute force (N^2 algorithm, compare each point to every other point), but takes some understanding to do it more efficiently (N log N). Of course, the judges gave you a huge point set and a strict execution time limit that showed that you found the efficient algorithm.

      (This was Problem A from the 1994 East Central Regional)

      Rarely, they were tricky in another manner (the example I can think of was coordinate determination by triangularization, and the test set made sure you could watch for divide-by-zero problems in your math and change the coordinate system to accomodate).

  24. Re:Not a single U.S. school by Anonymous Coward · · Score: 3, Informative

    Okay, a bit of explaining here. At the ACM you don't come up with fancy solutions printed on a piece of paper, you *implement* them. Your source code needs to pass a set of tests and is given a very limited amount of time for each one of them. In most cases you need to optimize your code a lot (and by this I mean use the best algorithms possible). You submit your code, it gets evaluated automatically and you get a message like "OK", "Error", "Bad format", "Core dump" -- I don't remember exactly all the names, it's been a few years since I participated at an ACM World Finals (Vancouver, 2001). After that you wonder what the heck went wrong (just like in real word, I may add), you modify it, you submit it again and so on. Of course, penalties add up for multiple submissions for the same problem.

    DFM (Design for Manufacturing) -- yes, you are correct. But ACM and the other international contests prepare you exactly for that.

    --B

  25. discrepancy in placements? by xa0s · · Score: 2, Interesting

    According to the official scoreboard the top 3 are Moscow, St. Petersburg and Waterloo (all ranked with same amount of solved questions). Shanghai placed 4th, but they're the champions?

    1. Re:discrepancy in placements? by Anonymous Coward · · Score: 2, Informative

      The score board is frozen one hour before the contest finishes. This is a long standing rule of ACM/ICPC contest, they claim that this way you'll be keep interested in wait for the final award ceremony.

  26. Re:Coding is blue collar by rbarreira · · Score: 2, Insightful

    I'm sorry and I don't want to sound like a troll, but judging from your post it seems to me that you don't know jack shit about programming or those contests.

    Yes, there are some mental challenges in programming, but for most part, it's straight forward (especially object based programming)

    Those are not straightforward programming contests, they're algorithmic oriented contests.

    here are real geniouses out there that can code in assembler, etc, but for most part, coding is like any other labor job.

    It doesn't take any genius in special to code in assembly. In fact, most assembly programming is hard work but doesn't require any special brain to do it, compared with programming in other languages (I'm not talking about comparing idiots who only know java and the like).

    If programming is so easy, I dare you participate in some programming contests similar to the one being discussed in this topic. Keep us updated on the results later :)

    --

    The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  27. Re:Not a single U.S. school by Taladar · · Score: 2, Insightful

    And who are you to decide time is the most important factor in good programming? I would say the team with the cleanest and best documented code should win.

  28. Re:Funny stuff about this contest... by pavon · · Score: 2, Informative

    No kidding. The grandparent should be moderated troll. Before accusing someone he know nothing about of cheating, perhaps he could have check the past results and see that this school (along with all the other leaders) has performed very well at every contest in recent history, including winning the 2002 contest in Honolulu, Hawaii. Or maybe the US coordinators were in a conspiricy againt the US teams as well.

  29. Re:Individual Efforts by corvair2k1 · · Score: 4, Interesting

    This is very much an effort based on the teams themselves. The cream of the crop is picked from the school's department, and they train/practice for months. If you were to lift any other student and send them off to competition, the lack of preparation would make them noncompetitors. These competitions exercise one very specific programming skill: Dash off a program that can do this impressive thing (with not much real-world applicability) as fast as possible, as a team. Real-world situations never call for this sort of programming, so these people are truly drilling for this type of event.

  30. Re:Funny stuff about this contest... by 0xABADC0DA · · Score: 5, Interesting

    Maybe they put one point at 0,0 and you got a divide by zero error? ACM put in all kinds of test data like that which is to any sane person completely impossible for the given question. When I was in the regionals a LONG time ago the ACM actually rescored one of the problems after the contest was over, adding extra test data so another team's problem would pass but ours would not (there was a conflict with the rules and apparently they thought it was easier to just cheat). We were hosting that one which is the only reason we found out.

    Overall I don't put much stock in the results because it's really more of a contest about robotic perfectionism. Unlike what people might expect there is extremely little creativity or problem-solving involved; each team has huge books of problems that they laboriously solve over and over again and there are never any fundamentally new problems in the competitions. I mean not like they could come up with an entirely new type of problem for each questions, but they always follow the same pattern: each problem has 1 fundamental approach you have to use (dynamic programming, graph-coloring, pattern-matching, monte-carlo) and then it's solved. Combine that with not telling any clues about why the program failed and it's really geared towards more robotic programmers. I got out of it precisely because there was virtually no creativity or thinking involved at all, at the professional level.

    Also it's virtually impossible to detect cheating... if you watch these people, they basically start coding right from the start anyway so if you already knew the problem and solution there would be little difference to see, it would just look like that team was really good. Or maybe you see test data, or somebody elbows you and says 'be sure to check for 0,0 on the mars problem'.

    A much better approach was done on topcode.com... there you get to see the test data and why your program failed. Then afterwards other contestants get to look at your code for a while and purposely try to break it with their own (valid) test cases. And you get bonus points for breaking other people's programs.

  31. Re:Not a single U.S. school by Meadlin · · Score: 2, Informative

    Now it is about 6-9 questions and you have 5 hours to solve them. Code is submitted using the PC^2 system.

  32. Re:Funny stuff about this contest... by ConceptJunkie · · Score: 2, Funny

    Are you sure your cable didn't go through the planet? ;-)

    Just kidding. The judges sound like mid-level management candidates.

    --
    You are in a maze of twisty little passages, all alike.
  33. Re:Funny stuff about this contest... by halber_mensch · · Score: 2, Interesting
    Because the USA has pretty piss poor programming education compared to some other countries in the world?
    Education is not at its best here, however there is more to it than just that. ACM membership and renewal is dropping: ahref=http://www.acm.org/sigs/sgb/fy03annrpt/sgb03 .htmlhttp://www.acm.org/sigs/sgb/fy03annrpt/sgb03. html>

    . In my own experience, at Oklahoma State University the ACM is virtually non-existant. I served as PR Officer in my last semester, and I think we had 4 meetings. Besides the officers, only a handful of people attended the regular meetings, and the only reason anyone signed up to be a member was because we stopped charging a local chapter membership fee. I don't think any local chapter members got a national membership. Our faculty and staff were not at all envolved in the ACM. There are also fewer and fewer students getting into programming these days - if anyone touches a computer field they go after business comm or MIS, because of the lure of better cash without having to learn so much math and science. So I point the finger at envolvement. In my experience, there was not enough envolvement by the students or faculty to get a team of competitive, motivated programmers to represent our school. I'm curious as to whether other schools in the US have the same problems.
    --
    perl -e "eval pack(q{H*},join q{},qw{70 72696e74207061636b28717b482a7d2c717b343 637323635363534323533343430617d293b})"
  34. Re:Not a single U.S. school by Bender0x7D1 · · Score: 3, Insightful

    Not really. I was an assistant coach for my school's team in 1998 and had a long discussion with the department chair about this.

    Basically, with the rules that are in place from the school and the board of regents for the state colleges, there isn't a lot of incentives that can be given to students to participate in something like this. I talked with a member of the Waterloo team and they were getting a couple of class credits for being on the team, which is something our school couldn't give. It wasn't considered appropriate - should we then give credits to someone in athletic studies for being a member of a school athletic team? Another issue (back in 1998) was that most US students didn't need the line on their resume, or the job offer from IBM if they won the contest. (Note: The job offer from IBM to the winning team was anecdotal, but IBM seemed interested in talking to everyone there about job opportunities.) Also, the "good students" don't participate in these contests since most of them have some sort of programming job on the side. I talked to several people about being on the team and they told me they would rather go to work and make US$20-30/hr being a part-time programmer than practicing for a contest.

    Just my US$0.02

    --
    Reading code is like reading the dictionary - you have to read half of it before you can go back and understand it.
  35. Re:Dumbfuck Americans by Fox_1 · · Score: 2

    I wasn't offended at all. It's pretty clear that people hate the implication that their country isn't better then all the others on the basis of an earth shattering result in a programming contest. Just as I was tickled pink to see Waterloo in the top 4. However no matter how good our programming is in Canada - we just don't have the military forces to arbitrarily invade countries on flimsy pretexts - so they can whip it out, measure and feel better.

    --
    The rock, the vulture, and the chain
  36. What surprises me by Stevyn · · Score: 4, Funny

    I looked at the questions and I was surprised they didn't include some basic computer skills. No where did they ask how to install an operating system. Compiling a kernel wasn't mentioned. Configuring a license server? Nope! MySQL? Not a damn reference.

    It's obvious to me that these "computer scientists" aren't skilled for the real world and will never get a respectable IT job.

    1. Re:What surprises me by Scraven · · Score: 3, Insightful

      I know several people who have been to ACM world finals. Among them are one of the most irreplacable programmers for the company that I work for, and several programmers at a company down the road that has a very popular search engine. I don't know about you, but that search engine company is probably the *most* respectable job in the realm of computer science.

  37. Re:Coding is blue collar by teslar · · Score: 5, Insightful
    Coding, in my humble opinion, is akin to any other blue collar vocation. Like coal mining or any other labor job. Yes, there are some mental challenges in programming, but for most part, it's straight forward (especially object based programming).

    If programming is like coal mining, can you do a PhD in Coal Mining too?

    You, sir, seem to misunderstand what programming is about. Programming is not jotting down some if statements, for loops and the like - any 9 year old can do that after having reading a bit through Learn C++ in 21 days and in the development cycle of a program, it is probably the least time-intensive part.
    But defining the problem you're tackling, designing your solution, your strategy, your algorithms, indeed the program itself (and yes, this includes the OO Paradigm - you don't seriously think the OO Paradigm is a funky thing where everything just works automagically with zip effort?) takes up at least half the total development time and it is not "some mental challenge with most part labour", it is purely a mental challenge. The most important tools of a programmer are a pencil and (lots of) paper. After the design is finished, you spend another significant amount of time deciding how to best implement your design. And yes, all of this is important and this is what they teach CS students at universities - or did you think it was all about different ways of writing a while loop? The better your design, the less time you will spend debugging your program (another substantial part of the development cycle of a program and another purely mental task once you've ironed out the compiler errors due to typos).

    So don't diss it till you've done it - you clearly haven't.
  38. Pride and Hard work. by pavon · · Score: 2

    That's what seperated the teams that attended (all of which are excellent) from the teams that won.

    I can't speak for MIT or the other teams that went, but I have participated in the regional contests several times before, and for us it was something that we did in our spare time. Our only preperation was three local contests through-out the year and at most a couple days before each contest practicing problems. I'm sure that the US teams going to internationals a lot spend more time than that, but I don't think it even compares to the asian teams.

    The asian schools take a great deal of pride in winning this contest and they have dedicated teams that spent tons of time working on this event. It is almost the same as if they were representing their country in the olympics. In fact that's a perfect analogy. Like this contest, the olympics have little direct practical application - how does jumping over a really tall pole make you a better worker in any job? The point of the contest is to simply performance for the sake of performance - to challenge yourself to the end of your abilities and prove that you can be the best in the world. This is a cultural attitude that the US doesn't really have in academics. The people here that are good in engineering are pragmatists that want to get a job done, and look at these contests as a fun diversion, not a matter of national dignity.

    PS, our school seems doomed to place 3rd or 4th every year, foiled by those pesky canadians yet again :) Some day, when you aren't paying attention though we'll get you. Some day. Or maybe I should just go to canada when I finally decide to go back to grad school :)

    1. Re:Pride and Hard work. by gvc · · Score: 2, Interesting

      "Or maybe I should just go to canada when I finally decide to go back to grad school :)"

      Please do. Grad school in Canada is a bit different from the U.S. We speak the same language, and we publish in the same journals and, for the most part, attend the same conferences. But we're a bit different. I hesitate to say "better" because I don't buy into the linear-ranking principle. Everybody wants to excel, but I think there's a bit more diversity in opinion here as to the meaning of "the best."

  39. Some religions are hostile to technology. by Baldrson · · Score: 2, Interesting
    I find Iran's position here interesting due to the fact that Islam has a reputation for being hostile to technology -- and you must admit that, regardless of the source of that reputation, it does have such a reputation at least among the US if not among all Western countries.

    And I'm not hostile to Islam -- I once shouted "Allahu akbar!" during rush hour at the intersection of Lawrence and Homestead. (I admit, mainly because I thought it was a subversive act.)

  40. Poor poor USA by Spankophile · · Score: 4, Insightful

    So they didn't place.

    Now all I see is people saying: "The Contest isn't representative", "The Metrics are poor", "The problems are academic", and "I wouldn't judge the state of CS curricula based on a contest"

    That's all find and good - as long as you sleep better tonight.

    But you still didn't place.

    1. Re:Poor poor USA by rk · · Score: 2, Insightful

      The funny thing is, the top 20 positions could have been taken by US teams, and you know what?

      I still didn't place.

      If I had managed first post, mine would have been "Cue the nationalist chest beating and excuse making now."

      Nationalism sucks.

  41. Re:no US team has ever placed by lars · · Score: 4, Informative
    That is definitely not true. The contest didn't start to become very international until recently (the last 10 years or so), so prior to that US teams won most of the time. The last time a US team won was in 1997, but they've placed well since then (e.g. MIT was 2nd in 2002).

    You can see past winners here: http://icpc.baylor.edu/past/default.htm

  42. Missing link by kingj02 · · Score: 2, Interesting

    The ACM problem sets. I don't know when the current problems get added, but all the old ones, plus more, are on this site. You can write the program, then submit it to their online judge to see if it's correct.

    Brute force usually doesn't work, so you need to know the right algorithm. It's tough, but it's fun!

    --
    Ardente veritate incendite tenebras mundi
  43. Re:Possible explanation by FreakyLefty · · Score: 2, Funny

    Technically if you lose at anything it's because you were at a disadvantage, even if that disadvantage was apathy or being thick as pigshit.

    --
    Strength through redundancy and over-design
  44. Let's be honest... by __aanebg9627 · · Score: 3, Insightful
    ...it's a legitimate contest, tests something important, and the U.S. teams were beaten.

    I'm American, and love my country, but we have to face facts. U.S. society doesn't place a lot of value on academic knowledge, compared to the rest of the world. Our cultural heroes aren't scientists, academics, and thinkers -- they are entertainers and athletes. We respect practicality, and making money, not intellectual understanding. Our society has a longstanding democratic suspicion of elites, including intellectual elites, which often shows up as a disdain for 'impractical' academics. There are several examples of this cultural disdain in the responses to this topic (taking the form of, "who cares, it has no relevance to the practical realm of real-world programming/software engineering."

    You can argue about whether or not this disdain for intellectual mastery is good, but the U.S. is one of the few countries in the world where the theory of evolution isn't widely accepted. Perhaps our culture's disdain for and mistrust of elites has a real price, and this contest is one place it shows up? Perhaps it also encourages many of the brightest students to go into areas where they can make money -- law, medical, or business school -- rather than academia?

  45. Re:what about college? by Anonymous Coward · · Score: 2, Insightful

    Because historically the U.S. has has a better economy. Those 'pesky foreigners' get a lesser education in the US than they would at home because 1. The competition for 'top of the class' is a lot easier and 2. American companies can pronounce the name of the American university, whereas they cannot pronounce the name of the foreign university. They instantly (and incorrectly) suspect the foreign school as being sub-standard, and refuse to hire the person from the 'foreign country and foreign university'. I had a prof. in university who came from China. He had an engineering degree from a school of radio engineering in China. No one would touch him, so he got a PhD from the University of Chicago/Urbanna Champaigne. It was a breeze. Now everyone wants him.

  46. When File Comparisons Go Wrong by rsmith-mac · · Score: 2, Informative
    Turns out that they test the results by COMPARING FILES.

    Of course, even something this simple can have problems. At the Fall 2004 Mid-Central(IL, MO, etc) competition, the judging software was set up incorrectly so that it compared your resulting output to... your resulting output. The only way to fail was for a program to not compile or to run too long(i.e. get stuck in an inf loop), so at the very end of the contest one of the teams picked up on this after submitting something they knew shouldn't have worked, and solved the "hard problem" by outputting the completely nonsensical string "everybody wang chung tonight".

    The solution to the problem however, due to the fact that by the time the judges realized this the contest was over, was to simply re-judge all the entries correctly, meaning that the only way to get a problem right in the end was to have been 100% correct in the first place(whereas normally you could resubmit the program if it was outputting the wrong data, taking a time penalty). As a result, I don't have much faith in the mid-central results this year, or even the whole of NA for that matter(there's just no way to know who really belonged at the finals from mid-central); and more importantly it shows while file comparisons can be a very bad idea.

  47. Re:what about college? by 25albert · · Score: 2, Insightful

    Why do so many international students struggle to enter the best American universities

    There is a lot of high-level research in the US, and big budgets for research.

    Why do they leave their country to come to [...] be taught by stupid American professors?

    Many professors are not American either, or were not when they first came.

    How can American high schools be so much worse than European ones, but still produce students that go to the same universities?

    There are brilliant people everywhere. The difference of education shows mainly with average and sub-average people.

    Compare it with food in different countries. There are great restaurants in just about any country (if you can afford them). But there are not many countries where you can walk into some random restaurant around the corner and have a good chance of being served decent food. Of the countries I know, I would count Italy, Lebanon, Marocco and Thailand as the ones with good food.

  48. Re:what about college? by drgonzo59 · · Score: 2, Insightful
    Actually most of my American professors are not from America, they are Chinese, Russian, Romanian, Indian, Greek and Egyptian.

    I am not bashing Americans and saying the whole country is worse and those "great" foreigners are all better. It just happens that science, sadly, is not a strong point in the American education.

    Secondary education is different, while high schools are fairly uniform, colleges are very different from each other -- some are really good, some average, some should just stick to basket weaving.

    Sometime colleges compensate for the high school's shortcomings. Freshmen usually are required to take a math series in the first year, if they manage to step up and pass, they'll be ok, if not, basket weaving or plumbing is highly encouraged as an alternative career choice.

    I just think, from what I have experienced, that high school science here is watered down. The kids are encouraged to run around chase a ball or play the trumpet, while they can't read or write. Teachers don't dare make the "poor" students feel stupid so they water the stuff down. In my high school back home in Russia I had to spend the whole time outside the classes doing homework and only then if I had time, do extracurricular activities. If most people failed the test they just got bad grades and that's it. (Note: that encourages some frequent cheating, a bad problem in that neck of the woods) The few of the ones that managed to do well and studied all the stuff are much better and end up coming to this country usually to teach and learn from the other people just like them from all over the world, while at the same time doing a ton of research for this country.

    To summarize, I think the science program in US high schools is simplified and dumbed down to cater to the below average student, at the expense of depriving the better students of a good and thorough science curriculum.

  49. Jiao Tong won fair and square by gvc · · Score: 3, Informative

    Jiao Tong are "host" only insofar as they laid out a great welcome mat for the world. The facilities were excellent and they showed us Chinese acrobats and a just-for-us fireworks show that rivals any I've seen.

    ACM ICPC is an American organization, and they have complete control over the judging. IBM supplied the hardware and the ICPC staff supplied the software and judging staff.

    In the last hour, any of the 4 gold medallists could have won. Waterloo submitted problem A but didn't get it. The Russian teams submitted problem G but didn't get it. Jiao Tong overcame a 1-problem deficit and then, with about 10 minutes to go, solved problem D to win.

    Have a look at the problems and you can decide for yourself whether or not they catered to any particular audience. I think not.

    I congratulate Jiao Tong and thank them for their hospitality.

    Gordon Cormack
    coach,
    Waterloo

  50. Re:Not a single U.S. school by gvc · · Score: 2, Informative

    No Waterloo student receives a class credit for participating in the ACM contest. They get the occasional free pizza and trips to exotic lands. That's it.

    Gordon Cormack
    coach
    Waterloo

  51. Re:Funny stuff about this contest... by gvc · · Score: 2, Insightful

    "Sometimes, it's an institutional thing, as noted by postings to this article about certain countries offering entire courses centered around this competition."

    Like these ones, for instance:

    http://www.cse.unr.edu/~westphal/spring2005/cs491F /
    http://www.cs.sunysb.edu/~skiena/392/
    http://www.cs.berkeley.edu/~hilfingr/csx98/
    http://www.cs.hmc.edu/~dodds/ACM/homeACM.html