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)
You shouldn't judge programmers of CS curricula based on these competitions. The problems are all very academic in nature rather than practical (I've competed in the ACM for two years now). Also, some schools spend all year preparing for the competition, offering classes in it, whereas other schools don't put quite that much into it.
Furthermore, the results of a single competition is hardly any reason to pass judgement on CS students nationwide.
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).
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.
Mediocre programming is perhaps a labour job but I would take one brilliant programmer over five mediocre ones.
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)
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.
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
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
That is the same bullshit done in all academic testing today. I always use google or other electronic documentation when programming and why should I memorize every parameter list of every obscure function in a language? It is simply so far from practical use that you can not derive any information about real world performance of these students.
Linux is not Windows
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.
The problems do relate to "real world" life insofar as you might be faced with problems like these during a job interview with companies such as Google. ;-)
Although I don't think that you'll necessarily get the best people by relying too heavily on their abilities to solve such puzzles quickly (i.e. during an interview session), Google certainly does.
In fact, they might want to know how you approach the problem if there are 5 billion instead of 5 items in the puzzle
US does well in international contest: "This proves that the US is the greatest nation on Earth."
US does poorly in international contest: "Who cares about stupid competitions? We didn't want to win anyway."
Childish responses.
Here's the adult response - WE TRIED TO WIN AND WE DIDN'T, thereby proving that America is Just Another Country. I doubt many of the Russian or Chinese students who thrashed the US teams in this contest did so because they wanted to get US jobs -- since those jobs are going to be outsourced straight back to Russia and China anyway!
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.
I know several people who have been to ACM world finals. Among them are one of the most irreplacable programmers for the company that I work for, and several programmers at a company down the road that has a very popular search engine. I don't know about you, but that search engine company is probably the *most* respectable job in the realm of computer science.
> If programming is like coal mining, can you do a PhD in Coal Mining too?
What do you think a Geologist is?
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.
Academic? It's Computing SCIENCE for crap sakes. it should be academic. If they just want to turn out technicians, there are far better, faster ways to do that.
CS should turn out science-oriented poeple, not technicians and code monkeys.
We could be judging sychronized swimmming for all that it is worth.
The point of the matter is, is that we shouldn't be so quick to jump to conspiracy theories every time a host country wins a competition. Unless there is some glaring wrongs that are evident, we shouldn't taint their victory with insinuations, accusations, assumptions, suggestions...etc.
Be good sports about not winning and congratulate the winners.
Just seems like a lot of people here are pulling excuses out of magic hats to justify wins and losses.
Live forever, or die trying.
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?
Because historically the U.S. has has a better economy. Those 'pesky foreigners' get a lesser education in the US than they would at home because 1. The competition for 'top of the class' is a lot easier and 2. American companies can pronounce the name of the American university, whereas they cannot pronounce the name of the foreign university. They instantly (and incorrectly) suspect the foreign school as being sub-standard, and refuse to hire the person from the 'foreign country and foreign university'. I had a prof. in university who came from China. He had an engineering degree from a school of radio engineering in China. No one would touch him, so he got a PhD from the University of Chicago/Urbanna Champaigne. It was a breeze. Now everyone wants him.
Perhaps you should read into your OWN posting and think again.
You think you are not insinuating cheating. Instead you merely mask your insinuations as a suggestion that outside factors contributed to their win and not merely their talent.
If you're not, why do you even bother bringing up things such as language, or cultural bias? You're insinuating that if this weren't the case, the China team would not have won or have answered all 8 questions.
Could it not cross your mind that simply the Chinese university did well? Would you have this same suspect in a flaw had it been another country answering all 8 questions? The Chinese university team have had a very good record in the past competing in other locales, one of which in 2002 was in Hawaii. Perhaps you could look into the bias there too while you're at it.
It's not worth looking into as it is a non-issue. You continue to try to put some spin to their win, but please, stop already.
Live forever, or die trying.
Why do so many international students struggle to enter the best American universities
There is a lot of high-level research in the US, and big budgets for research.
Why do they leave their country to come to [...] be taught by stupid American professors?
Many professors are not American either, or were not when they first came.
How can American high schools be so much worse than European ones, but still produce students that go to the same universities?
There are brilliant people everywhere. The difference of education shows mainly with average and sub-average people.
Compare it with food in different countries. There are great restaurants in just about any country (if you can afford them). But there are not many countries where you can walk into some random restaurant around the corner and have a good chance of being served decent food. Of the countries I know, I would count Italy, Lebanon, Marocco and Thailand as the ones with good food.
I am not bashing Americans and saying the whole country is worse and those "great" foreigners are all better. It just happens that science, sadly, is not a strong point in the American education.
Secondary education is different, while high schools are fairly uniform, colleges are very different from each other -- some are really good, some average, some should just stick to basket weaving.
Sometime colleges compensate for the high school's shortcomings. Freshmen usually are required to take a math series in the first year, if they manage to step up and pass, they'll be ok, if not, basket weaving or plumbing is highly encouraged as an alternative career choice.
I just think, from what I have experienced, that high school science here is watered down. The kids are encouraged to run around chase a ball or play the trumpet, while they can't read or write. Teachers don't dare make the "poor" students feel stupid so they water the stuff down. In my high school back home in Russia I had to spend the whole time outside the classes doing homework and only then if I had time, do extracurricular activities. If most people failed the test they just got bad grades and that's it. (Note: that encourages some frequent cheating, a bad problem in that neck of the woods) The few of the ones that managed to do well and studied all the stuff are much better and end up coming to this country usually to teach and learn from the other people just like them from all over the world, while at the same time doing a ton of research for this country.
To summarize, I think the science program in US high schools is simplified and dumbed down to cater to the below average student, at the expense of depriving the better students of a good and thorough science curriculum.
Give me a break. And basketball players should better practice lifting Glad bags into dumpsters to better prepare themselves for careers in "sanitary engineering?"
The ICPC is sport. Through the years they have developed a set of rules that make it interesting and balanced. Those who win are good programmers in the same sense that basketball players (or soccer players or whatever) are good athletes.
There are many different sports with many different rules. Winning in any one indicates excellence.
I answered this previously but I can't let this stand.
ACM ICPC is an American organization. It has complete control over the problem set and judging. Contest Executive Director Bill Poucher at Baylor University (Waco Texas) will personally vouch for the results.
Poucher is very well aware of the politics of international competition and that everything has not only to be fair, but seen to be fair.
There is absolutely no chance that our hosts could have influenced the result and the suggestion is offensive. To Jiao Tong, to Bill Poucher, and to me.
Gordon Cormack
coach
Waterloo
"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