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)."
More outsourcing to come in areas more sophisticated than in codemonkeydom.
CC.
TaijiQuan (Huang, 5 loosenings)
...a sad commentary on the state of programming departments in the States
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?
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.
its already there, I am in Canada and work for a US company as a software engineer.
OUt of the four colleges I was going to go to, Penn State was probally the "worts" and CS. Turns out they tied for 17. Just in case you wanted to know the others were RIT, Drexel, and UMBC. This just show people that newsweek and the other ranking don't mean anything. Ironicly, they dn't offer SE on main campus.
They have "Middle East" and "Asia" as separate places, when most of the Middle East is actually part of Asia. If Syria had won, they'd have to place it in two at the same time.
Don't blame Durga. I voted for Centauri.
Hmmmm...the hosts also won... I declare shenanegans!
Computer Programmers from Shanghai Jiaotong University in China Are World Champions -- Winners of the 29th Annual ACM International Collegiate Programming Contest, Sponsored By IBM
SHANGHAI, China & SOMERS, N.Y. --(Business Wire)-- April 6, 2005 -- Students from host school Shanghai Jiaotong University in Shanghai, China, took first place in the Association for Computing Machinery's (ACM) International Collegiate Programming Contest (ICPC), sponsored by IBM. The international "battle of the brains," in Shanghai, China, challenged students to tackle a semester's worth of computer programming curriculum under a grueling five-hour deadline, in a battle of logic, strategy, and mental endurance. The ACM-ICPC World Finals champions walk away with IBM prizes, scholarships, and bragging rights to the world's "smartest trophy."
Shanghai Jiaotong University was the only team to correctly solve eight of the ten problems in this year's Contest. Moscow State University, St. Petersburg Institute of Fine Mechanics and Optics, and University of Waterloo finished the competition in second, third, and fourth places, respectively, and all won 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).
"The ACM-ICPC shines the spotlight on the best and brightest problem solvers from campuses spanning the globe," said Dr. Gabby Silberman, Program Director, IBM Centers for Advanced Studies, Hawthorne, N.Y. "At the World Finals, these programmers were exposed to IBM's most advanced technologies, giving them a competitive edge as they launch careers in information technology."
This year, 78 teams earned coveted spots on the World Finals roster, out of more than 4,100 teams from 71 countries who competed in regional contests worldwide. During the Contest, students were united through the common language of code as they competed in a race against the clock to solve ten complex, real world programming problems. Team participation in the Contest has increased five-fold since IBM began sponsorship in 1997.
"The ACM is thrilled to partner with industry leader IBM to challenge these students to achieve extraordinary levels of problem solving," says Dr. Bill Poucher, ICPC Executive Director and Baylor University Professor. "The future of the IT industry is in the hands of these young innovators."
This year's top twelve teams that received medals are:
-- Shanghai Jiaotong University (GOLD, WORLD CHAMPION)
-- Moscow State University (GOLD, 2nd Place)
-- St. Petersburg Institute of Fine Mechanics and Optics (GOLD, 3rd Place)
-- University of Waterloo (GOLD, 4th Place)
-- University of Wroclaw (SILVER, 5th Place)
-- Fudan University (SILVER, 6th Place)
-- KTH - Royal Institute of Technology (SILVER, 7th Place)
-- Norwegian University of Science & Technology (SILVER, 8th Place)
-- Izhevsk State Technical University (BRONZE, 9th Place)
-- POLITEHNICA University Bucharest (BRONZE, 10th Place)
-- Peking University (BRONZE, 11th Place)
-- The University of Hong Kong (BRONZE, 12th Place)
The three-person teams were awarded medals based on the number of problems they solved in the shortest time during the competition.
In an exciting tournament style challenge prior to the World Finals competition, students were introduced to IBM's Blue Gene/L, the fastest supercomputer in the world, which runs on the company's Power processing technology. Teams created a parallel application on an IBM POWER-based platform, a technology used by universities, government agencies, research organizations and commercial enterprises to solve some of the most complex problems in physics, engineering, biology, geolog
even in the real world here, in the industry, if you have a look at your programming team in your company, I believe most of them are not born in the states. the native smartest ones are in business school and law school.
Lack of Mt. Dew puts US programers at a serious disadvantage.
The world is made by those who show up for the job.
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).
Cal Tech 28th, Duke 29th...
One man's Funny is another man's Offtopic.
"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. "
How serious can that be?
This sucks. The Chinese deserve more than this stupid propaganda.
I'm suprised at the performance of India, Western Europe and America.
Maybe the high costs of writing software in the U.S. and Europe has kept the Indian outsourced programmers so busy they did not have time to compete.
Ian
Because the USA has pretty piss poor programming education compared to some other countries in the world?
- Michael T. Babcock (Yes, I blog)
Maybe the problem was given in Chinese?
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.
Congratulations University of New South Wales (Australia).
W00t for the team!
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.
You forgot to mention that the two top countries are communists / dictatorships (yes, both *are* dictatorships).
The complete list of problems can be found here, along with some sample inputs/outputs (usual format for these types of contest).
The finals problem set (PDF) is at the finals home page.
Glad to see "Canada's Top Math and CS University" is pulling in good results overseas too. ;)
Expectations are for the unprepared.
University of Illinois is the first US team, on a shared 17th pos. MIT and some other US teams are on a shared 29th pos...
That's a sad commentary all by itself really.
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.
After clicking around for a few minutes, it stil l was not apparent where one could find the statement of the problems to be solved by the contestants.
What prevented you from clicking this
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?
Because they were the better team.
http://icpc.baylor.edu/icpc/Finals/Scoreboard/inde x.html
This thing was the programming version of the International Special Olympics basically. The way they divided the teams and the way that the hosting team won makes it quite clear that it was just a way for China to make itself look good and give a few third-world countries a shot at doing the same.
...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...
One of the Michigan Tech. team members was none other than Joe Nievelt one of the RIAA's "best friends"
(The above is of course just a theory. It could be a global conspiracy against America).
I'm not trying to suggest there is actually any conspiracy against America, but...
Corruption doesn't have to take the form of a conspiracy against anyone in particular. Corruption in this competition is certainly possible without there being any conspiracy against the U.S., Europe, or anyone else in particular.
I admit I know next to nothing about this contest, but I do know that in my field, these sorts of things are not uncommon. Often it doesn't take the form of outright violations of rules, but "bending of the rules" or subjective favoritism.
Sometimes, it's an institutional thing, as noted by postings to this article about certain countries offering entire courses centered around this competition.
See http://icpc.baylor.edu/icpc/Finals/default.htm for problems and other details.
..) Olympiads so popular outside US at high-school level.
As a CalTech graduate I can tell you there is not much interest in this contest there. This programming contest targets a very specific set of programming skills (solve tricky short problems as fast as you can) that doesn't say anything about your general CS education.
As someone else pointed out, it's mostly a cultural thing (in China, Eastern Europe, etc.) that drives the best teams. Participating in this contest takes priority even over normal coursework, these students spend weeks preparing for the contest. It's just a college-level continuation of the science (CS, Math, Physics,
... I'll assume that means "to a football game".
I mean, how does a middle school graduate produce this bit of...letters:
" OUt of the four colleges I was going to go to, Penn State was probally the "worts" and CS"
Which ACM chapter are you talking about?
Seastead this.
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.
This time you wrote:
" Crap ignore that i was just informed it said perm not Penn"
I can't even begin to fathom what this means.
Were you in a motorcycle accident without a helmet?
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)
You need to familiarize yourself with Occam's Razor and apply it appropriately.
MIT and CalTech are not in the Ivy League.
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
Your answer probably didn't create a useable topology, just a cat's cradle.
Communists beat YOU!
it's two separate areas you fool. yes it's the continent of asia, but at least within the language I speak, russians aren't asian.
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.
Unlike the Slashdot summary the above results put Moscow State in 1st place and the the hosts in 5th. Well, wouldn't be Slashdot otherwise.
This is not the sig you are looking for...
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.
Seems to me the way to do it is to have one team code a large project, and the other teams try to maintain it. Most of programming is maintenance, not development. Solving problems creatively is fun, but is that the real work of programmers? I thought we were supposed to make solutions happen for people.
I have to wonder how much of this relies on individual abilities rather than being a sign of flaws or successes in an institution.
I mean, one doesn't say the United States is only second best in basketball because the team comes runner up in the Olympics.
Am I the only one who thinks that the way things are going is rather sad?
Yes, I know that one should not conclude any such thing from this one-point sample. But we all know that there are a ton of other related samples points out there that hint in the same general direction.
It is sad, to me anyway.
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
Which year and competition (regional or final?) was that? Do you have a link to the problem set? Is that problem in the uva judge?
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
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?
You are not correct at all, and are compounding your errors. The Middle Eastern region includes northeast Africa and southwest Asia. Check a map. Here is a map of the continents with a separate color for each one. IF you know where Jordan is, you will see that it is in the same blue continent as Thailand is. Here is a relevant quote from Wikipedia: "The Middle East is a subregion of Africa-Eurasia, or more specifically, Asia, and sometimes North Africa.
We were not discussing Russia, but you are very wrong about this as well. While the Russian ethnic group's heartland is in Europe, most of Russia is in Asia along with a huge part of Russia's population. Refer to maps.
Don't blame Durga. I voted for Centauri.
Well we all know that if it was a Tech Support related question India would be prevailed...
We used to use the term "religious fundamentalism" as a pejorative, indicating a state of barbarism.
Now we have it at home. Welcome to the dark ages.
Next question please
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
We are really sorry we beat you, eh?
That was not very polite.
Maybe, next time we invite you over here in the north and we let you win, eh?
E.g. Harvard was eliminated in the Northeast North American Regional Contest. So now you just have to decide if being whupped by some Canadians is more or less humiliating for the Ivy League :-)
No. It met the requirement that every point have a path through the network to every other point. Moreover, the difference would have been thousands of meters, not hundreds of meters, had we left out important segments.
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
Mod this troll down, just another cheap shot at the US.
2003, regional (in Lincoln, NE), no, and I have no idea and am not going to sort through that site to find it. Does it really matter at this point? I mean, it was 2 years ago and I'm now in law school. It's not like my failure in the ACM programming competition would have substantially affected my life. :P
The one to which I belonged as an undergraduate Computer Science student. Does that have any bearing on whether we were treated fairly at the competition 2 years ago?
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.
You did connect the points with arcs, not straight lines, right? That'd be a couple of hundred meters difference there... Could also be a rounding error over enough points.
Without seeing the datasets and the results I'd have no way of telling you whether you're right or not, though. Finding optimal minimums/maximums has always been a difficult problem (with lots of research time devoted to doing it non-exhaustively using AI), so its entirely possible that you stumbled into a better minimum than they did.
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.
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.
And the development environments are restricted. So there's no real threat to Common Lisp developers.
. 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})"
Mrs. Packard: "What is shenanigans?"
Special Agent Dale Cooper: "Nonsense, mischief, often a deceitful or treacherous trick."
We can neither love nor pity nor forgive. If you make a slip in handling us you die!
Funny... but much like the recent elections we'll just never know since, last time I checked, ACM does not release the test data or the solutions each team came up with. There's no independent verification possible for the results since the raw data is not available.
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
All of the winning code was confiscated by the Chinese government "for the good of the people".
Personally knowing the people in the highest-ranking US team (from University of Illinois), I had a chance to talk to them yesterday. Apparently no US team has ever placed since the contest began.
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.
but the problems shown weren't really all that computer oriented. They certainly didn't test for skill in anything other than geometry or math or basic algorithms. Other than discovering how to perform the required math trick, these problems aren't very challenging as far as computer problems go.
Granted that you want soething relatively quick and easily testable, for a CS contest. However, these sorts of questions are too narrowly focused for something that is supposedly so prestigious.
Where are the parsers, the networking protocols, the display canvases, the embedded real-time kernels, the scripting engines, the database oriented client/server applications etc. etc. issues that make up today's computing?
Where are the distributed transactions, distributed security, pervasive/mobile UI, grid messaging, meta model transformations etc. etc. issues that make up the future of computing?
You might say that these kinds of problems require too much dependency on 3rd party API's. However, I would point out that even the algorithmic problems are dependent on the underlying function libraries. These are 3rd party API's crafted by programmers too.
The hallmark that sets good programmers apart is not in how well they know a particular set of API's (this is just a basic requirement), it is in how well they are able to adapt to new ones.
The contest designers should get an F for lack of imagination.
Thanks for sharing.
Somehow the image of all 17 Canadians invading another seems silly. Look out! It's those yank-hating cannucks again! Hide the beer!
The code being written by every entrant was immediately found to contain derivatives of the line "i = i + 1" which is a key part of SCO source code, and hence the issuing of extortion letters was performed extremely promptly.
Despite the SCO team being clearly in the lead in their delivery of solutions, contest judges are holding up the process for some reason, even to the extent of refusing to accept the SCO solution. One doesn't want to get into conspiracy theories just yet, but some have hinted that the judges panel is actually controlled by IBM staff plus a whole raft of open source advocates.
We live in evil times indeed.
Spoken like a true I.T. manager (who transferred from a non-technical department).
Tell me, how exactly do you get your hair to stand up in those two symmetric points on either side of your head?
Why doesn't Slashdot ever get slashdotted?
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.
It might make sense for past winners to host future competitions so that could explain the coincidence of Shanghai being both host and winner of the competition.
Seastead this.
We americans are better suited for the higher-level jobs in IT. Mere coding can be done by anyone. We didn't WANT to win this contest or those grapes.
There is not nearly enough love in the world, but there is far too much trust.
That's what seperated the teams that attended (all of which are excellent) from the teams that won.
:) 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 :)
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
> If programming is like coal mining, can you do a PhD in Coal Mining too?
What do you think a Geologist is?
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.)
Seastead this.
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.
Congratulations to Amir Kabir University of Technology and Sharif University of Technology from Iran!
no discovery, nothing new: move along, there's nothing to see here.
Yep, arcs. Our team was mathematically strong - of the three of us on the team, one was a double major with math and I was minoring in it (only a few credits short of a major, but I wanted out of school after 3 years :P) - and, as I said, we submitted a detailed mathematical proof of our correctness. Moreover, if our submitted appeal was incorrect, I would have expected an answer to that effect, at least stating that we were wrong but preferably pointing out specifically what we had done wrong. Instead, we got no response at all, which leads me to suspect that either (a) our solution was over their heads (highly unlikely) or (b) we were just right and they didn't want to deal with it.
It's worth noting that we got the correct result for every sample answer and every actual test answer except for one.
And yes, optimization problems are a particular challenge, but this wasn't Traveling Salesman. This was Connect the Dots, where you can lift the pencil up at any point if you want.
This article might actually be interesting and informative if they bothered to tell you what the problems were, what languages were allowed, and so on. Mod article -1, too damned vague.
rarely does a US team place.
Nope, no divide by zero error. We ran our code later with the full test dataset and were just a bit short on one answer, not on any other and not as a result of any runtime faults like that.
;-D
Maybe they just shafted us because we submitted a fork() bomb for our allowed test of their network submission system.
Perhaps they were expecting the geometric equivalent of a minimum spanning tree (good for most cases) and you gave them the (actually optimal) geometric equivalent of the Steiner Tree problem?
I think it is because many of the best people in the industry are out doing work instead of teaching.
:-).
In many of the commi countries the best people's best option is to teach, in the USA the best people's best option is to make huge loads of cash
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
You are right...
But as I understand it, there is zero room for subjectivity in this competition.
Your program is right, or it is not.
The top CS programs generally don't put much emphasis on things like ACM competitions. There are much more interesting use of student time than practicing over and over again for this type of competition.
Sure it's fun, but actual research is more fun. Here at Carnegie Mellon University, the ACM competition isn't given much weight. We do have a team, but most of our best students do more interesting things.. independent research for senior thesis, broadening their horizon with Robotics classes, etc.
In short, the top CS programs don't feel the pressure to prove themselves, and hence put less effort into competitions like ACM with dubious research value.. instead we focus on the real meat of Computer Science education.
No.
Problem solving, especially in the mathematical sense (read what you call "programming") is not a blue collar skill. Just because you have not seen a problem of sufficient size or complexity does not mean it does not exist. It takes a bit of intelligence to:e ss
1) define a correct solution to a complex problem
2) translate that solution into code under a number of constraints such as:
-efficiency (algorithmic complexity)
-scalability
-robustness
-correctn
-extensibility
Swinging a pick-axe in a dark mine relates very little to #2. (though sometimes it may feel like it)
(sarcasm)
So coding is like any other manual labor job, except for, well, um, there isn't any manual labor involved.
(sarcasm)
I joined the Regionals held here in Manila, Philippines. My team finished 8th, but was the second best of all Filipino teams. (Japan, Hong Kong, and Indonesia like to send their teams here, maybe because they might have a bigger chance of winning here than anywhere else.) My school also sent my team to the Regionals in Shanghai, but we finished only with an Honorable Mention. =p Anyway, the story around here is that during their summer break, the Shanghai Jiaotong University teams trained by answering around 2000 problems. They really do deserve that Championship. Congratulations to them!
WTF?
What about the sources for the solutions for the medalists? They would answer many of the questions that are circulating around this forum, as to how good these programmers are. My guess is that they are very good indeed.
an ill wind that blows no good
In every such contest I send emails to the judges afterwards kindly asking for the input/output datafiles. Since you seem to know a couple of things about the location of problem files, may I ask if you know whether the I/O data is published and if yes, where?
I believe they stop updating the score sheet with about half an hour to an hour remaining in order to keep the suspense there for the awards ceremony.
I'd trust the link given by the submitter.
It's simple, they are years ahead of the rest of us.
Yesssss!
We're better than MIT!
And, best of all, there are a lot of americans that care about this results, even if most of them know nothing about the contest.
Yes, but does the Geologist actually go deep into a coal mine and hack at rock with a pickaxe as their 9-5 job? That is the difference between CS and Programming: programming is the act of writing the code. Computer Science is the science behind how and why you write code the way you do (Amongst other things).
The Russians worked hard, I'm sure, to get their skills to where they are.
I do some programming, but as someone else pointed this out, I am a manager. I have 4 programmers under me, and they all agree that there is nothing proprietary about their jobs. It's not like they are there to re-write the OS. Their tasks are to get some input from the web, do something with it, and then out put it. Usually using APIs. Most people do not want to do this. We are having problems finding people motivated to code. Most want to do something else. It's not a fun job - it's just a job.
I went to one. When we (our team) got to the question-asking session, we wondered why the people were asking about the number of spaces and completely trivial and/or ridiculous stuff. Turns out that they test the results by COMPARING FILES.
Not to mention that the problems they ask are much prefabricated problems - if you know their solution, you're in. It's like "have you been to this contest before? Yes, watch out for the subway one. It's a recursive tree" - or - "if you don't know algorithm X for analysing Y sequences numbers, you're gonna lose."
It's no *programming* contest at all. It's much more like an algorithm-solving+text formatting race. They don't test your REAL programming skills - your ability to create your own programming libraries, the organization of your source code, the maintainability, etc.
I was completely disappointed by that contest. It's much more like a sponsorship promoting ACM products and courses disguised as a programming contest.
Want to win a contest? Enter a FOSS project and fix the more bugs / implement the more features CLEANLY.
Now THAT's a contest.
HAHA MIT.. 60th place. Think you're so good. Better luck next time.
that one was not held in china.
Nice... are they still refusing to give credit if the description is not clear one way or the other? Last I heard the policy was still "there's only one right answer; you should have asked for clarification during the contest" instead of "ok that's a different but still correct answer here's your points".
Neither are Illinois or Duke, the only other American schools to place.
-Matt
Duke '05
I'm a Computer Science student at UW, and I'd agree with you that the CS program here is quite good, at least in terms of the way it's taught past first year. I've found some of the first year professors they give us in Math/CS/Engineering are really clueless.
UW is known more for it's Engineering programs with co-op. However I've found that the way Engineering is taught here is completely the wrong way here. It's among the most difficult in Canada but the philosophy seems to be to just give you more work, and less focus on actually understanding concepts and being innovative. So in return you have students who are fed up with school work and labs, just try to get it done and end up hating engineering once they've graduated. I know this is the case because most of my friends here are in Engineering and they're in this situation. They all feel as if they're just being force fed information and just told to "accept it".
So in short, lower-level education in America stinks. But what about higher education? Why do so many international students struggle to enter the best American universities, with their incredible tuition costs and logistical issues associated with the move? Why do they leave their country to come to stupid America, to learn with other stupid American students and be taught by stupid American professors? (I know most mods will judge by that last sentence that I am trolling, but I think it's a valid question. How can American high schools be so much worse than European ones, but still produce students that go to the same universities?)
We asked for multiple clarifications during the contest. They just started ignoring us.
Your beer would be the last reason we yould try to invade you.... Jessica Alaba surely, but american beer naaaahhhhhh!
Remember... A boomerang IS NOT the best way to deliver a bomb.
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?
according to this, Russia's area of 17,075,200 km^2 is divided 77:23 between Asian and European parts. Interestingly, Russia population of 143 mil is divided 26:73 between Asians and Europeans. That is, the average population density in Asian part of Russia is less than 3 people per km^2 and average population density in European part of Russia is 26.5 people per km^2.
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
i think it is precisely those who do a lot of programming who might hold the view you are arguing against. like they say, "familiarity breeds contempt".
many programmers, for good or ill, hold separate "coding" from "design work", and then use this distinction to help define themselves. we all need to define ourselves somehow, after all.
umm... yeah. UIUC placed in the top 30 (17th). That is placement; US teams didn't win any medals. But 17th out of 4100 is pretty frickin good. So we arent the best, but we are competitive.
"this is the gloaming"
radiohead
Half the posts here are excuses for the U.S not placing. Stop rationalizing people, and just accept what happened.
American superiority in any field is not a given - it has to be fought for.
I meant Alba and not Alaba... Too fast on the keyboard, and a few REAL beer... :-)
Remember... A boomerang IS NOT the best way to deliver a bomb.
A first-class physics department needs serious money, but not a computer science department. A $1,500 computer can serve a couple of CS students for many years.
The U.S. is used to being the best at everything, but their domination is slowly eroding as large-population countries like China, India, and the Philippines modernize. This loss of dominance should proceed most rapidly in those areas that are not capital intensive.
Americans have received many such shocks in the past few decades, and there will be many more in the future. Some day the U.S. may be "just another country".
Regression to the mean, I think it's called.
How are we supposed to have a religious war if we don't know whether they used Java, O'Caml, Haskell, or Befunge?
An answer that quotes directly from the article to a question that happened to get modded down is offtopic?
Well, you know what they say: Weeks of programming can save you hours of planning. And no, I have no idea who 'they' are.
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.
Alias (Maya) ...
Side Effects (Houdini)
QNX
Watcom
(that's just off the top of my head)
___
If you think big enough, you'll never have to do it.
I know almost all top-rated russian competitors personally, along with some (worldwide) regional contest directors and jury members.
Would you believe me when I say that they are able to do all things you mentioned, without spending a lump sum of money on "certified training courses", and better that those trained monkeys?
But you're right in that part that they will never get "respectable IT job" in the world where qualified recruiters are making decisions based on buzzword presence in one's resume and certifications from Sun, Cisco, whatever.
They just know how computer works, how network works, and how all this crap can be improved. They probably can be employed to full extent only by company like Google who considering someone's BRAINS, but not ability to blindly copy.
Not having time to register and login now,
Paul P Komkoff Jr, ACM ICPC competitor, coach, and subregional tech
Comment removed based on user account deletion
The problem lies squarely in the face of the universities and the professors who choose to ignore their undergradute students: http://www.epinions.com/content_73675148932.
Regarding this particular e-pinion, two newspaper publications have corroborated the complaints:
Is it society's fault that students are paying a fortune to attend a university that ignores its undergraduates? Is it society's fault that faculty members are too busy consulting? Here's an example of Stanford consulting gone awry, at http://www.eweek.com/article2/0,1759,1642588,00.as p:
My favorite: "the competition is held in China and a Chinese University wins..."
For those who want to add fodder to the argument that US students are in a scientific and technology funk...this story shouldn't be part of it. Many of the international schools build their entire academic curriculum around the contest. So, it isn't surprising to see lots of international schools doing very well. As for the US teams, most of the time the ACM teams formed are outside of class and sometimes with little or no interaction from the schools they represent.
Since you participated, could you tell us what programming languages the teams use for these contests? Does everyone use the same, or one of a specified list, or is it completely up to each team?
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
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
I'd rather see a world more along these lines:
quoted from here http://science.slashdot.org/comments.pl?sid=14532
Working towards a goal similar to this would make me happy in life. Working FOR money will not make me happy. In my opinion the best option is the one I'm most satisfied with. The way things are atm, I don't think making a boat load of cash is very beneificial to the world as a whole, and people can more successfully fulfill their full potential if they ignore money as they choose an option. Not to trash money or those who have a lot of it, but shooting for something that makes a lot of money is not the best option.
However, you have to admit there were a number of centuries lasting up through the 20th century that found Islamic nations lagging for some reason.
Perhaps it wasn't the religion but it certainly does more than reflection than resting on relatively ancient accomplishments.
PS: Congratulations on your recent accomplishments and in particular the funding of the X-Prize!
Seastead this.
C++. Take my word for it.
Unless they changed strategy in the last year or two, the Russians used Pascal.
"Sometimes, it's an institutional thing, as noted by postings to this article about certain countries offering entire courses centered around this competition."
F /
Like these ones, for instance:
http://www.cse.unr.edu/~westphal/spring2005/cs491
http://www.cs.sunysb.edu/~skiena/392/
http://www.cs.berkeley.edu/~hilfingr/csx98/
http://www.cs.hmc.edu/~dodds/ACM/homeACM.html
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
i think the sour grapes was sarcasm
/ 255.htmhttp://www.mythfolklore.net/aesopica/oxford /255.htm>
You are right, of course.
I sometimes think it's a pity we don't have a widely-recognized emoticon to spell out things like sarcasm.
But that would defeat the whole purpose, wouldn't it?
If anyone cares, here is the origin of the "sour grapes" reference:
ahref=http://www.mythfolklore.net/aesopica/oxford
There is not nearly enough love in the world, but there is far too much trust.
Yet, most of the Arab lands are in Asia. This includes important Arab "heartlands" like Saudi Arabia and Iraq.
Don't blame Durga. I voted for Centauri.
I'd moderate your reply "informative" and/or "insightful" if I hadn't posted to this thread already.
- Michael T. Babcock (Yes, I blog)
I love how the parent (my post) was moderated flamebait twice but provoked only insightful replies. Please consider how people will respond to a post before moderating.
Besides, my karma's still excellent anyway.
- Michael T. Babcock (Yes, I blog)
Did you take into account the fact that Mars is spherical so the cable will be longer although it is at 1m height? I suggest you talk to the other teams. Judges are rarely wrong on these contests.
Saying there's no creativity involved is pretty wrong. How many of the finals problemset can you do (remembering the 2 minute runtime limit)? ACM problems are usually on the level of TopCoder mediums or hards, without TopCoder's emphasis on speed speed speed.
No, I assumed Mars was a cube. WTF, did you read anything I wrote? I wouldn't have included the fact that it was at 1m height or the assumption that Mars is spherical if I wasn't aware of their relevance.
The judges were wrong, and could not articulate to us any proof to the contrary.
'Any contest that we don't win or do well at, is not a good gauge of any sort. And deep in our heart and soul, we american are still the champion.' I am disappointed not at the american not winning but at our general attitude towards competition. Don't blame the government about alienating the world. It starts here.
Why it always comes down to this? It could be conspiracy, corruption, foreign slave students do nothing but trained for the contest...etc. If it's a fair competition and we're beat fair and square, can't we for once admit that we're beaten? We've won it before, and now this time we lost it. Let's move on and do better next time. Shall we?
Is IIT a top school? Indians are not necessarily smarter. They are just all good at English thanks to the long colonial history. ACM is a test about smartness, not other.
*involvement
I have been to a couple contest and many of the teams *DO* (us teams) have special training and classes for the contest. Start looking for another excuse.
Please read what I wrote rather than responding to what you WANT me to have written. I accused no one of anything. This is an anomoly, and a very pronounced one (they did not just WIN, they were the only team in the world to solve all of the problems). I would tend to suspect a flaw in test administration due to language or cultural bias rather than outright cheating, myself (see, no conspiracy theory). Still, it's worth looking into.
Well, the only way to tell if they are without flaw is to rig it to our advantage and see them still winning. Start with figuring what Beijing wont train them in those contests, and start throwing that at them. On top of that, add something that will allow the US a decent advantage. Do both with no notice to anyone, and watch a few shamed souls be humbled in China, that the US really does have its stuff in order. Repeat until Bejing flies a white flag, or wins somehow.
"Forget the engineers." -Carly Fiorina, briber of MIT Technology Review.
perl -e "eval pack(q{H*},join q{},qw{70 72696e74207061636b28717b482a7d2c717b343 637323635363534323533343430617d293b})"