ACM Programming Contest Results
An anonymous submitter writes: "Shanghai Jiao Tong University has won the 2002 ACM International Collegiate Programming Contest with six of nine problems solved. Also solving six problems were MIT (2nd), University of Waterloo (3rd), Tsinghua University (4th), and Stanford University (5th). You can view the problems online, as well as the final standings. Congratulations to all!"
Thats the sound of those questions flying past way above my head...
For those who are unable to view PDFs.
Here is the problems PDF in text format
Waterloo had some problems with D. Their first submission was about halfway in, but was judged incorrect. They had 2-3 hours to fix it but never did figure out what was wrong, which is probably just bad luck. If they time spent on D had been used to do another problem, they would have saved a lot of penalty minutes too (of course, it's easy to say that after the fact).
The 3rd place finish is still very impressive, all things considered. Waterloo has now solved the same number of problems as the winning team (for which they now award the "gold medal") for an unprecedented 7 years, I believe, even though participation in the contest has more than tripled in that time and the competition is stiffer than ever.
There are 3 people on a team, sharing one computer. You have 5 hours to code.
UW CS tution is about CAD$5400/year. MIT tuition is about US$26,000 (CAD $40,000) per year.
Paul
Unlike the US, the Canadian post-secondary education system is relatively affordable and still a decent education. (Unlike secondary School.)
Please dont make assumptions about things you know nothing about, especially considering I was commenting on something to which I grew up within 20 minutes drive from. The UofW is without a doubt in the top 5 computer education schools in the world.
.
Many of the ACM competitors from English speaking countries compete weekly at TopCoder.
College students and professionals alike compete against each other to solve 3-problem sets within 75 minutes (choice of C++ or Java or C#).
Under 18 are allowed to compete as well, but not eligible for prizes.
That Fortran 90 wasn't one of the supported languages for the championship. They are allowing C, C++, Java, and Pascal. If you're a problem solver, you know your Fortran. And these are math problems, evidently. So I'm baffled as to why it's not an option. Before I see the deluge of "Fortran is dying" comments, it is still heavily used for engineering problem solving, I know for a fact, so don't give me that crap.
I remember years past when I was on the team competing for my university. Locals, not International. One year we had several of our guys graduate (IIRC), and were short on filling in with CS students. Well, we ended up with a Chemical Engineer who could program, and I tell you it was a blessing. He brought a whole different viewpoint to the table on how to solve things, because of having different techniques needed for his discipline.
Iterative estimation of math problems to get the needed significant digits instead of actually trying to solve it, that sort of thing. Helped all of us open our eyes for "non-CS" ways to solve stuff.
=Blue(23)
LITTLE GIRL: But which cookie will you eat FIRST? C. MONSTER: Me think you have misconception of cookie-eating process.
As an American who did a postdoctoral stint at Waterloo, I'm proud of UW's rating in the ACM contests. But like football games, I realize that that it has little to do with the worth of the university. Do you seriously believe that, for example, poorly funded Latin American and Eastern European universities are truly better than, for, example, Cal Tech? And yet that is what would be implied by taking the rankings seriously. Some schools are just really into the contests and have organized coaching and practice sessions, and other schools just don't care much.
Additionally, I'm always been amused by the Canadian ignorance of university tuition in the States. Sure private universities like MIT and Harvard cost a lot of money. But public universities are more or less as cheap as Canadian universties and still produce first class research. BSD UNIX was developed at UC-Berkeley. Mosaic (the ancestor of both Mozilla and IE) was developed at UIUC.
If anyone is interested in a programming contest for high school kids, check out USACO (USA Computing Olympiad). They have contests throughout the year (any country can participate) which lead up to the US Open (only US participates), a 5 hour, proctored contest which then determines eligibility to go to IOI (The Computer Science World Olympiad Training Camp) from which a few kids are chosen every year to represent the US in world competitions.
:-).
The contest style is very similar to the ACM (solve n problems in m hours) and often very interesting problems are given (just because it's high school, doesn't mean the kids are stupid
If anyone is a computer science geek in high school or a teacher of CS in a high school, you should definitely check it out.
When I was a sophomore(?) in high school around 1980, some friends and I entered a programming contest. I don't remember which one it was; it may even have been an ACM contest.
Anyway, we got a bunch of problems. I ended up taking the hardest one, which would probably take all the time allotted, while the others worked on cranking out the simpler one.
Here was the question: You have a salesman that must travel through a series of cities. Write a program to find the shortest route.
I had never heard of the Travelling Salesman problem before.
So I diligently tried to solve the problem. But for some strange reason, I kept running into cases that made it difficult to find the optimal, shortest route. I worked my ass off for the 2 or 3 hours that we had, and ended up running out time. I was sure there "had to be a solution", otherwise, why would they give us the problem?
It wasn't f***ing fair, and I'm still f***ing pissed about it to this day. :)
Sometimes it's best to just let stupid people be stupid.
If you're up there, there are companies looking to hire you. They seem like good companies too, really interesting work. Unfortunately, most of them want to hire immediately instead of waiting until June when he has his Master's.
Every contest has it flaws, but I think TopCoder is pretty good at keeping my Java skills up. I tend to do all of my personal programming in C/C++, so I forget my Java-isms. It also teaches me some practical Java stuff that you don't learn in books. I was suprised as hell that Java lets you add and subract from character literals, for instance.
Most of the harder problems require dynamic programming to keep you from exhausting the JVM's memory or exeeding the 8 second time limit imposed to prevent infinate loops.
Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
...even moderately offended by the lack of functional languages offered to the contestants?
(I'm (not (one) of those) rabid, foaming LISP advocates) that insists *everything* is better with functional languages... but... I do believe there is a time and place for just about every style of programming. Some of those questions looked very much like the "time and place" for a nice modern functional language like Haskell. Even Scheme would've been nice... Miranda, some flavour of ML... anything.
Perhaps there is some reasoning behind this that I'm missing. I guess I just thought it was sad that the ACM seems to be promoting the view that functional languages are too 'esoteric' even for use in a programming contest.
Yes, I agree. Not just functional, either; lots of their problems would be exquisitely tackled by a logic programming language like prolog or twelf. It saddens me that ACM is not progressive enough to encorporate even "known good languages" into their allowed set (yet would easily fall to Yet Another Procedural Language with corporate backing like Java).
;)
There are lots of things that suck about the ACM contest, anyway. Personally, I think that the ICFP contest is much better, because:
- You can use any language, number of teammates, resources, etc.
- You get several days
- The problems are more interesting (sometimes unsolved)
- Work at home