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)
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.
Yea, I'd stay away from the worts if I were you.
You'll find that to be the case with most CS depts. You'll need to study law if you want to screw people.
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
Lack of Mt. Dew puts US programers at a serious disadvantage.
The world is made by those who show up for the job.
actually i was talking about software engineering.
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).
Because the USA has pretty piss poor programming education compared to some other countries in the world?
- Michael T. Babcock (Yes, I blog)
Um, that says p-e-r-m State, not Penn St.
17 Perm State University
One man's Funny is another man's Offtopic.
Thats why I said "worst". RIT's main thing is computers. I went to visit them and I would say 1/2 of them where compsci student. And they had amazing stuff at their dosposal. ANd UMBC was ranked by newsweek for computer majors. Most of them are going for phd's thre. and I just didn't like drexel.
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.
Crap ignore that i was just informed it said perm not Penn. I guess i just misread it. or the font rendered funney and looked like nn
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.
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.
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...
Mediocre programming is perhaps a labour job but I would take one brilliant programmer over five mediocre ones.
Odd? You give people a hard problem and ask them to solve it in a given amount of time. If two teams manage to solve the problem, then you can evaluate the solutions based on speed, executable size, or whatever.
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.
http://icpc.baylor.edu/icpc/Finals/Scoreboard/inde x.html
...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"
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.
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)
MIT and CalTech are not in the Ivy League.
It must be my manufacturing background kicking in, but I'd evaluate on the resources needed to implement the solutions. Fancy solutions aren't worth the paper they are printed on if someone can't properly implement them.
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
I looked up the word 'shenanegans' but couldn't find it .. did you mean shenanigans ?
(I had never before heard the word)
Shenanigans
The name of a game played 24/7/365 by people who know of its existence. The game is played by first saying "Shenanigans", then, the person who said it is allowed to hit or otherwise hurt anyone within earshot of them at the time that they said it. The main target tends to be the groin on males and the chest on females. People who are within earshot when "Shenanigans" is said must say the word "Mulligan" as soon as they hear it to prevent being a target. If someone is hit either before or while you are saying the word "Shenanigans" or after they have said "Mulligan", you are considered to have cheated and they get a free hit on you. Note that saying "Shenanigans" lasts indefinately until each person within earshot has said "Mulligan"
Bob: "SHENANIGANS!" *smacks Tom in the groin*
or
Bob: "SHENANIGANS!"
Tom: "MULLIGAN!"
*Bob hits Tom in the groin*
Tom: oooh, that's a free hit! *smacks Bob in the groin without penalty.*
"Officer Barbrady, I call shenanigans!"
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.
"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.
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
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
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.
if i had a nickel for everytime i heard, "the font rendered funny."
Next question please
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
Well, he was still distracted by the "worts".
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 :-)
i think the spelling of it is rather arbitrary.
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
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 programming competition is actually a very abstract view of how good the CS department is. My university has a fairly good department, but we sent teams that did not practice... They fared poorly.
However, other schools (that aren't as good) have courses that teach nothing but how to do these things. They practice this for 10-15 hours a week, giving them a significant edge. These problems are available, so it's not like you can't prepare for them in a huge way.
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.
Linux is not Windows
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.
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.
Now it is about 6-9 questions and you have 5 hours to solve them. Code is submitted using the PC^2 system.
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.
This isn't really a contest that exercises overall coding prowess. Very specific skills are being exercised, and these aren't seen in day-to-day programming. College students who are preparing full time (and, no joke, they are really preparing all the time) will beat almost any group of individuals that are not practicing.
. 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})"
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.
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!
This was the case in 98, too.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
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
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.
Hmm... it's pretty much different in Central Europe. At my university, over 30 people came to the faculty's eliminations the first year, and the competition was really fierce.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
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?
This is based upon when I participated 20-25 years ago: Time wasn't the determining factor.
Number of problems judged correct are.
Time is used as a tie-breaker for teams who have solved the same number of problems (judged correctly). Time is added for every attempted compile and test run. [Time] penalties for errors during compiles and inaccurate judged runs were added as well.
I don't know what language(s) they used, but we but we were only permitted to use FORTRAN. No subroutines or functions. Just top-down FORTRAN. There were places where code reuse would have made life easier and recursion would have made problems passe. One year regionals were held at a place which only used punch cards. That was fun for those who had never seen or used punch cards (I learned FORTRAN using punch cards in a college class between my junior|senior years of high school)
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.
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
Yeah, I looked it up and you are right about the hour thing. My memory must be failing me.
OddManIn: A Game of guns and game theory.
> 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.
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.
Ardente veritate incendite tenebras mundi
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?
Or was it caffeine-incuded time dilation? :-)
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
"incuded"? I swear I'm not dyslexic. That should have been "induced".
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.
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).
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.
Oh, come on! You think a competition like this can lead us to discredit the whole nation's status? This is simply a minor competition with only 3 people from each school making a showing. Regardless, at least my own Duke finished as the top US school.
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 haven't been part of these coding teams, but, I very much doubt Waterloo would give credits for doing the contests - At least I never heard of it...The CS department is too anal about their courses and that sort of thing. I could be wrong...
Esta es una firma en Espanol.
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?)
For heaven's sake, it's organised by the ACM, a *US-based* organisation with members from all over the world. Shanghai Jiao Tong only *hosts* it, they aren't in charge of the actual contest. As for giving "a bunch of medals to more communists", well, Moscow and St Petersburg are in Russia, which got rid of communism in 1991. You never know about those Canadians, though - bunch of commies, the lot of 'em! ;-) Is it really so difficult for some people to accept that the USA is not the best at *everything*?
Disclaimer: I am a CS student at the University of Cape Town, South Africa - the university whose team won the Africa & Middle East regional competition. W00t Ikey Tigers!
We asked for multiple clarifications during the contest. They just started ignoring us.
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
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.
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.
Err, that is incorrect. NTNU (Norway) and KTH (Sweden) was the western European winners. They finished 7th and 8th in the finals.
Comment removed based on user account deletion
And all U.S. universities have this problem because Stanford does?!? I don't quite see the logic here.
Here's how this argument seems to go:
1. Stanford does a poor job of counseling its undergraduate students (supported by evidence)
2. Therefore, all major U.S. universities do a poor job of counseling their undergraduate students.
3. Poor counseling means that the students are not counselled to work hard at these competitions (a reach, you didn't explicitly say this, but it's the only way I can see this argument making a little sense.)
4. Therefore, the students lose these competitions.
The logic here is pretty weak:
a) The second step is quite a leap, and a standard logical fallacy.
b) If U.S. students are not being counselled to work hard at these competitions, isn't it is more likely because the counsellors share the general U.S. attitudes I mentioned, than poor counselling?
Finally, if your post gets modded down, it's probably because of the incredibly (for a Stanford student) poor logic shown in the post. Whose fault is that?!
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."
>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? That's a invalid analogy. If you're a CS student, and you're participating in a programming contest, that's directly applicable to your major, much like if you were a journalism student and wrote for the school paper. If a university offered a degree in basketball, then by all means, I would definately agree that being on the team deserves class credit.
The road to hell is paved with good intentions.
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
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
Read more carefully. It is "Perm State," not "Penn State." Perm is a Russian school.
I'm not sure how they draw the boundary, but the names for the relevant regions are "Asia" and "Arab and Africa."
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.
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)
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.
you forgot to mention KTH from Sweden, the Norwegian University of Science and Technology and Waterloo from Canada and so on... they all got medals, just not the Americans it seems :)
Any sufficiently advanced technology is indistinguishable from magic.
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})"