ACM World Final Standings Posted
Nyerp writes "The final results for the ACM International Collegiate Programming Contest are up. Cheers for St. Petersberg State U, followed by my own school, the Univerity of Waterloo!" Congratulations, guys! I wonder if any of the world finalists used Pascal, since it's allowed.
Ditto. I feel kind of bad, really, that there are so many people doing cool things at this school and I don't know any of them!
Well done Waterloo! And congrats to St. Petersberg State!
Question: I heard it said when I first got here that there were only two universities whose Comp. Sci programs were in the Faculty of Mathematics. One was Waterloo, of course, and the other was "somewhere in Russia".
Anybody know if that's true, or is it just an urban (er, campus) legend? And which Russian university is the other one? (If it's St. Petersberg State - well, that'd just be weird.)
Joe
Because girls are forced to play with barbie dolls and african-americans were enslaved once.
I may not be at one of those winning schools, but at least my classmates look like someone you'd want to be seen with in public.
A nice thing about these contests is that lesser known schools can get known in one big pop. I used to teach at a school that is relatively unknown and low ranked, yet in my field everyone knew about it because our undergrads won a big competition a few years in a row. How did they win? Yep, tons of time devoted to practice.
Based on my experience, this is not due to racial barriers at most schools. Most U.S. schools (non-private scohols anyway) bend over backwards for variety in ethnics.
So then what could be stated as the cause for this? Personally I think its 'environment'. The average black or hispanic individual does not grow up in a computer oriented environment. I'm not trying to be racist. Far from it. Its just the simple truth.
Out of all the engineers I see every day at my work place (around 2000 employees), I've only seen one African-American engineer, and two African-American people working in IT. There are only one or two Hispanic engineers as well. Nearly all the engineers are from India, Japan, China, or the US.
As for women, I find that the average women engineer is not white or from the US. Most of them are from an Asian or 'Indian' background.
NERDS
Ok, I'm trying to be a little funny here, and I really don't want to be mean spirited, but is the stereotype really true? Do all "computer geeks" really need to be pencil-necked weaklings?
I've always felt that you can't have a healthy body without a healthy mind, and vice versa. I've always been into athletics and I've been lifting weights for the past 10 years now. But I've also been interested in computers since way back when I got my first apple][, and I've since got a degree in CS and have been employed as a programmer for the past 4 years.
I love lifting weights. After a brutally hard workout, I feel refreshed, both physically and mentally. This allows me to be at my best, both at work and play. Yes, I have a thick neck and big muscles. A lot of people are surprised when I tell them I have a CS degree. I suppose I look like the stereotypicl dumb jock. Are "computer geeks" afraid people will think less of them if they are physically fit?
I competed in this contest this weekend. I think I saw 4 girls, and I don't remember seeing a single black programmer. I honestly don't know why. I can tell you that in the past four years on my team, we have had one black and one girl - horrendously low numbers since we field three teams at the regional competition. It's just that most of the people who show up at our local contest are white males
As far as Pascal goes, I know that at least one team programmed in it, because I saw the guys from Warsaw U using it. The hot new language is Java, and a lot of teams are switching from C/C++
Didn't know so many Waterloo people were on here!!! Shouldn't you mathies be on the sixth floor while we engineers be in poets?? :)
I really have avoiding feeding the flames you generate with all this grits stuff, but I have to tell you, I now understand what you mean. This is no joke - about a month ago I was eating grits for breakfast and was still wearing just the Perl t-shirt I had been sleeping in. I leaned over to grab the remote control and accidentally spilled the grits right into my lap. Dude, you are on to something, because that felt really interesting and extremely stimulating. Have you tried any other grains? I'm afraid to for fear of becoming some kind of food-sex freak. Anyway, just thought you'd like to know that and get some good news, because the moderators have been really harsh on you lately... I thought the upside down comment about Australia was really funny and shouldn't have been moderated down, but what can I do?
An casual observation about African-American students, not meant as a generalization or anything totally explanatory, but in my CS classes I notice that nearly all the African-American students are holding down jobs that I imagine would pretty much rule out extracurricular activities like preparing for and attending a competition like this. Any comments on any of this is welcome/encouraged... I'm not black or female so I certainly don't have a FPS view of any of this.
>Didn't know so many Waterloo people were on >here!!! Shouldn't you mathies be on the sixth >floor while we engineers be in poets?? :) I just had to add one more mathie, why not. Hey I probably granted most of you post 96ers your pink tie. Anyhow congrats to all those who did so well in the both contests. Ciao Bella
whoa, thats pretty cool
It's always easy to say "get over it" when your side is the one that won. The judges screwed up, and the contestents are being penalized for that. This is supposed to be a professionally conducted competition, and as such the judges need to take responsibility for their mistake.
WATERLOO GAY!!! CANADIANS UGLY AND STUPID!!! OOG BREAK HEAD!!!
I think you will find little sympathy from people living in Orlando about the obvious bias of the Orlando Slantinel. :)
The one time I've been up to the Great White North, I made a point to stop by at the UWaterloo. In the middle 1980s when we learned on a 'frame, all of the best almost-free-ware came from UWaterloo: WLoo script, GML, Prolog interpreter, C compiler...They didn't waste time bitching about not having an LSI11 running BSD, they JUST HACKED THE DAMN CODE ON WHAT THEY HAD, which was an IBM 'frame. And it was good.
When I got there the first thing I noticed was all of the unadorned reinforced concrete, just like where I went at the UofIllatChicago: Architecture in the "correctional modern" style we called it. So I decided that UWLoo is OK, even though they're Canadian :-) Hey! Do they still brew Toby Ale up there?
I think the UW B team beat the UW A team three years in a row. 1995, 1996, 1997.
Water! Water! Water! Loo! Loo! Loo!
A few of the problems just required some basic knowledge of algorithms. If you were desperate, you could make up your own on the spot. The max-flow problem was trivial.
dude, looking at the winners pic, I wouldn't want to go to any of the winning schools. those are some ugly fucks. i prefer to go to schools where they have some cute bitches.
Loo!
Water!
Loo!
Water! Water! Water!
Loo! Loo! Loo!
THIS REAL OOG, I REAL OOG!!! OOG BREAK IMPOSTER'S HEAD!!! OOG NO APPRECIATE DOPPELGANGER OOGS!!!
And regarding the CompSci program at U of T, it is an excellent program, which is right up there with UWaterloo's program. You can get more information at the following website: Computer Science @ U of T
By the way, U of T is better than UWaterloo!! (in everything else that is :)) hehe
Donny Cheung is standing in my room right now!
On the whole programming is not about intelligence. The majority of programming is dumb work, and a programming contest should reflect that. And yes that means accentuating coding speed.
That probably explains some of that prevalence.
Frankly sir, you know nothing whatsoever of real networking.
If Pascal is so elegant than why isn't it possible to implement any significant portion of the standard library IN PASCAL? Take for example the procedure "write". It can't possibly be valid Pascal, as it uses a variable number of parameters. In C, I can at least implement the library!
By 'scholarship', they mean 'cash'. After all, to participate, you have to be in school, so a scholarship is cash, especially when it is given in cheque form. :-)
ok, why don't you outline your solutions to problems c and d for us since they are so easy it wont take you but a minute
Contestants are strongly discouraged from using clarification requests. In particular they are told: don't question the validity of the data don't ask any questions So unless the question is ambiguous there is really no point. And there was no ambiguity whatsoever about the statement in the question that the graph was connected.
Curious as to how many teams use VB in the contest. I'd choose it for its quick debugger. Its got all the needed language features too. If not, why... Are CS departments biased against it? Students too comfortable with standard CS languages? Im curious if VB still suffers from the bad image BASIC has had in academia.
Well, I think it means that Knuth was actually walking the maze. Same data, but probably a little bit harder to visualize without the arial sitting in front of you.
Teams from British Columbia was in the regionals (I believe both UBC and Simon Fraser were involved), but they could not advance to the World Finals.
Being someone who has been to the finals before, I can tell you that having good math skills is what set the top teams apart from the average teams. It certainly helps tremendously. Sometimes its not really the math that helps, but it's the thinking skills you learn from all sorts of mathematical areas that help you most.
You might think grinding your way through Calculus and Algebra and graph theory is pointless, but believe me when I say it will make you a better programmer.
- Steve van Egmond, b.math 1997
http://bang.dhs.org/
This is an urban legend.
I was wondering though, what language and IDE did the team use for the contest...C++, Java, Pascal, etc?
Also, what language is in "style" nowadays for the contest?
This would explain lots. Being a past participant in this contest, I watched the whole thing online and was very surprised to see that so many teams have problems with F (esp. for good teams like Waterloo). It's another reason to push for "open-sourcing" contest problems/solutions/data sets, which many regions still refuse to do (I helped out in a region that releases everything). The main thing that happened was that we worked extra hard to make sure that there were no errors, just so that we don't get embarrased. Unfortunately, many regions do not release this for exactly the same reason. Nobody would know if the messed up.
The problem of incorrect data sets is not a new one. I was part of a UWO team several years back that in a regional contest that included an incorrect data set. The judges admitted this after the contest was over. I believe the method of segfaulting on encountering invalid data was used to prove this to the judges. So all people entering the ACM contest should keep that trick in mind.
where's the award for the university of grits? I have a ba in pouring hot bowls of grits down my pants. thank you.
This is good, because the contestants could not solve expertise low. If the sequence started with N, S, E, or W, the end was similar. This is not intuitive, nor regular. Good job, all.
UWaterloo, the best math/engineering skool in North America.
suk it!! -dik
That's why kernighan and ritchie are the men.
Most of us can just read the links, thankyouverymuch.
An yes I agree, there's definitely a lack of nice girls in physics.
Points well taken.
I was exacerbating the problem in my post. I think you'd have to agree though that the fact that this contest emphasizes coding time so much, has to lead to some "bad" coding practices.
When I say "bad", I mean from the point of view of working on a moderately large project, with lots of other people. These days that is what being the programmer in the Real World seems to be all about. In such a setting the emphasis has to be on code readability and reusability, and not nearly as much on coding time. You have to write your code for people first, computers second, which seems IMO almost contrary to what you need to do for this contest.
Perhaps if you go back to some code you wrote for this contest a year ago, how long would it take you understand what is going on? How long would it take someone else?
I am in AC/M and boy, am I ever a monkey! I and the rest of my ACM Monkey brethren are going to throw feces at you now!
well then, i think that this goes to prove that MIT/CMU/XYZ have got reps that are overrated, partly because their funding is unbelievably high.
in competitions where money counts, such as the Midnight Solar Car races, sure these US colleges are gonna come up on top, because they have $1 million in funding while Waterloo is strugling to buy a helmet!
but where brains count, us waterloo engineering/cs students will kick all of your US butts anyday.
that's right.
Frankly, it takes more skill to program well, then to simply hook up someone elses premade equipment.
It's called threshold. 2 is a pretty damn effective filter, especially of noise like that.
Thankfully, it also tends to filter out the whining of people who don't have their threshold set above 0...
I too was on the CMU team, and I'd like to add my 2c.
I can first of all confirm what Dom said about practicing. In fact when an IBM rep asked us at the regionals how much we practiced for the contest, all three of us simultaneously started laughing.
I believe that practice makes a big difference in this contest. This is because you need a bit different set of skills to be really successful in this contest than you do to be a good CS student. Take a look at a contest problem, how fast (the operating word being FAST) can you determine what algorithm to use (or come up with one) to solve it? This is mostly in line with what you need to do well on some of the CS exams at CMU.
Now though, how fast (the operating word again being FAST) can you correctly code this up? And when what you were sure was a correct solution comes back from the judges with the informative message "wrong answer", how quickly can you find and fix the problem? Being able to code very quickly is not something I found to be at all necessary for academic success in my 3.5 years at CMU. I do think that this is a skill that can be greatly improved with practice.
There are other contest specific issues, like being able to manage the computer time - you biggest limiting factor, being able to work well with your team, having a booklet of algorithms implemented in C in as few characters as possible (you are allowed books, notes, etc).
I don't want to take anything away from Univ. of St. Petersburg, or Waterloo, or any of the other teams that put a great deal of effort into preparing for this contest. I salute them, that's what it takes to be champions.
I can surmise that the reason that CMU does not put more effort into this contest is that 1) we do ok anyways; 2) CMU does not really need this contest to boost its reputation. On the hand, Waterloo for example is much less known, and can use the tremendous success they've had in this contest over the past few years as a big selling point, and a way to get more exposure.
In fact, I'd go as far as to say that practicing a lot for the contest is probably more detrimental to you as a programmer than beneficial.
Allow me to elaborate, here is the right and the wrong way to do a contest problem:
The WRONG way
And now The RIGHT way
Wait a minute now that I think about it...hmm...with time to market and all...well, maybe this contest is a good measure of how good a programmer you are.
I did my time at U Waterloo as well. Systems Design Engineering, 1993.
-Rasmus
Part of the problem involved having to find the value of N!, where N could get up to a max size of M (I can't remember the exact numbers anymore). You were supposed to tally how many times each digit appeared (assuming it is represented in decimal) in the resulting number. The point was that the good programmer should immediately recognize that there was no way to solve this problem using the built-in binary numbers on any computer, since it required that you store long numbers with perfect accuracy (so floats are out too). So the point was to quickly whip up a string-ized number format, and implement a multiplication routine for it so you could do large factorials. Pretty simple and routine once you realize that you will have to do this, right?
Well, it *should* have been simple, and it *would* have been if it weren't for the fact that the problem's givens lied to us about how many digits were in M! (It was given that M! would be the largest value in the test data, and that it contains no more than XXX digits.). They said too few digits, and as such our array was too small to hold the result. Our algorithm was actually correct, excepting this one mistake, within 10 minutes of the contest's start. And the rules of the contest prevented us from getting any clarification about what was failing in our test submissions, and there is no way to quickly check if the givens were correct, since you can't calculate what M! is in reasonable time when M is big. (Not without a program - which is what we were making). Besides, since they were givens, we shouldn't have *had* to check them. I was in a funk for a week after that because it wasted too much of our limited time and we had it *right* dammit, from the first 10 minutes. The mistake in the givens didn't get publicised until after the contest was almost over, and we'd already squandered away our time on this one problem that we knew we were this close to finishing.
That was a long time ago, but it still irks me. That one mistake kept us from going on to the next level of the contest. If that given had been correct, then our first submission, 10 minutes into the contest, would have given us enough total points to go on to the next level. (It was one of those years in which even the best finishers only got 2 of the problems right.)
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
#define X(x,y) x##y
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
I think the reason that UCF gets overlooked for funding is because of the amount of FSU/UF grads in politics. Though, UCF gets a ton of money from the private sector.
Unfortunately, we won't have a first rate sports program until we build better facilities for our athletes.
But, things are changing and UCF is growing. Unlike UF and FSU, there's plenty of room for us to grow.
There's a picture of the scoreboard at Florida Field from the UF/UCF football game from last year. KNIGHTS 7 GATORS 0. (of course, its in the first quarter and there is 12 minutes left.)
Go Knights
Worst Sig Ever
Here is my comment:
1. Why Java?
I understand that Java is the rage nowadays, but why Java?
Java is defintely NOT something that will last. Java is not a FREE language, it is still in many ways controlled by SUN.
Unlike C, C++ or Pascal, one day Java is still under Sun's control, one day Java is not FREE.
I rather see the ACM contest use python and/or perl than Java.
2. Language.
I understand that to ease the judging process, the English language is used.
But if the competition is to open to the whole world, wouldn't it be better that the contest be available in other languages as well?
Imagine that you are not an English speaker, and there are certain things in English that you may still have problem with - even if you are a top programmer - the problem of mis-understanding the question may hamper the competitors' ability to complete his/her/their project, as well as they should have been.
As I understand - and I am a member of ACM as well -, the ACM is made up of people of all ethnic groups, and there are MANY people from ACM that can be used to help out in the translation process, in problem texts or whatever that needs translated.
I hope that in coming years, the ACM competition will offer contestants a choice of either using the English text, or language of their own choice.
In this way, the competition would be fairer, get rid of the language problems, and you may have a better-run programming (computing) competion.
Isn't that a COMPUTING competition is all about?
Muchas Gracias, Señor Edward Snowden !
Perl is a great language. The stuff that you can do is just great. I don't think that one would have been an option :(
http://theotherside.com/dvd/
Hi all,
My high school's going to be attending a similar contest (on a smaller scale, of course) at Stetson University, in Florida. Hopefully, I'll be placed on the team. Does anybody with experience with these sorts of contests have any tips for us? Information on how best to coordinate a team, reference books to bring, documents to read before hand, etc.?
The main hurdle I see is that fact that only one workstation is available for the entire team, which is definitely awkward.
Did you ever hit reply, and leave for a long time?
I can't remember what I was going to say, or what I was replying too.
=/
-- Thrakkerzog
Hi everyone! I figured while everyone was checking in and patting our friends from Waterloo on the back, i might as well join in too. Congratulations to Donny, Jeff, and Ondrej!
I did the contest once, but there are no memories of the math building's comfy lounge for me: I graduated from Computer Engineering at Waterloo in 1998. 1994 was a fun year: we went with united forces from CS and Engineering and kicked butt. Those ACM contests are really fun, though i agree with the others that judging errors do suck and some accountability would be nice.
I've known Donny from a long time ago...
-- ?!ng
The Unversity of Central Florida. We've been doing the ACM for about 15 years now. Regularly win our regionals or place in the top 3. We are also considered a top 25 school for Electrical and Computer Engineering according to the College Board (the SAT/GRE "guys").
And there we are, #15 this year (out of >>2,000 teams) -- right next to MIT, Carnegie Mellon and Virginia Tech. Plus, a brief history of UCF's world rankings ...
But people in Florida spit on us and, until recently, we used to get 1/10th of the funds of UF or FSU. We have more programs and students than Florida State (let alone 10x the graduate programs) and are barely behind Florida! Add in the fact that we have the 2nd largest research park in the US and it makes me wonder.
It wasn't until our Football team moved up to I-A (in 1996) and started playing big schools (and nearly beating them) that we finally got some money proportional to our size. Very sad that sports seems to drive everything.
Again, no respect!
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
I could just imagine how good these people who won are if my group didnt even make it through the regional competition. They must be getting job offers like crazy... And if they arent, they should.
_joshua_
Yeah, and my team (U of Guelph) beat the Waterloo B team at the East North American Regionals in November. :-)
Maybe next year we'll do some preparation and go after the A team
"Never wrestle with a pig. You both get dirty and the pig likes it."
Michael Van Biesbrouck, ECNA Regional Contest Director (1999)
Michael Van Biesbrouck, 1999 ECNA Regional Contest Director
Michael Van Biesbrouck, ECNA Regional Contest Director 1999
I don't see why you have a circular order ordering on the letters.
Michael Van Biesbrouck
In my own region (East-Central North America, home of Waterloo, CMU and Toronto teams), teams using Pascal tend to do very poorly even though the problems are set with the limitations of Pascal in mind. Unfamiliarity with the region's supported versions of Pascal probably contributes to this problem, but I think that the main issue is that the teams choosing to use Pascal are less experience programmers than the other contestants.
I am not familiar with the advantages that Delphi provides, but I feel that teams who are extremely familiar with C++'s STL and Java's bignum libraries will have improved chances at winning.
Michael Van Biesbrouck, ECNA Regional Contest Director, 1999
Waterloo won the Putnam too.
h tml
m l
http://www.bulletin.uwaterloo.ca/2000/mar/20mo.
Notice Donny Cheung in 1998,on the UW ACM team this year and another UW student won the special award for the highest-scoring female student in the contest.
http://www.stats.uwaterloo.ca/~cgsmall/uwput.ht
Go waterloo go.
That explains it all.
I was a member of the swedish team (from Linköping University) and we also got stuck Problem F, which was the first problem we attempted to solve. I guess we spent half of the contest looking for a non-existing bug.
The results would have been completely different if the test data had been correct.
Anyway, we really enjoyed our free visit to Florida!
The beauty of a sexy built-in "string" type
Uh, wasn't Pascal the language where two strings of different lengths were considered to be of different types?
If that's sexy to you.... shudder
Like the friend of mine from high school who not only got a free ride from VA Tech (go Hokies!) but also a matching free ride from No Such Agency and guaranteed employment after graduation.
:)
Haven't heard from him in a while, but that's prob'ly more my fault than his. Brad Banks, if you're out there (at Fort Meade or elsewhere), hope you're enjoying yourself!
------------------
"We can categorically state that we have not released man-eating badgers into the area." - Major Mike Shearer, UK
I fell behind in my studies and dropped out of the Univ of Minnesota in '92 after ~2 years of CSci. I worked up from the bottom of IT - junior operations. 2 jobs and 5 years later, I got a programming job, and that was because my friend's father ran the shop. I got lucky. I now work for a Fortune 500 software company making good money.
The market has changed since I dropped out. You may be able to get an entry level job in software development with only 2 years school. It will be hard, and it may not be your first job..or your second.
I've worked for 2 software companies: a start-up with 30 people and an established enterprise class software corp with more than 7000 people. Neither company would even consider someone without a degree or experience.
Finishing the degree is what you will wish you had done when you turn 30. I sure do.
Ah, but starting next year (or is it this year?), even Modula 3 will be replaced with such atrocities as Java and C++ in first and second-year Waterloo CS courses! We cannot allow this carnage to continue!
;) come on, first 30 bucks takes it!
now, how am I going to resell my Modula-3 text?!! (the eminent Harbison)
.. forty-odd bucks worth of fireplace fuel? even looking at it gives me hives... i know it's not as sexy as pascal, but.. hey, wanna buy it as erotica literature?
"The reason that every major university maintains a department of mathematics is that it is cheaper to do this than
Here in the Netherlands the students organize themselves in teams, and then participate in local contests. The team that scores best goes to the regional. I don't recall any ACM final without dutch participation, so this seems to work pretty well (I must say I haven't really checked the last few years).
:)
I've participated in the '92 and '95 ACM Finals, scoring 9th and 3rd place. Not so bad I think
It sucks, it sucks, it sucks.
But it happens all the time in these contests. I think it should be considered part of the game. (And the Waterloo guys were so bright to realize what was happening here...)
In one regional I participated in, the judges found out afterwards that the home team had been denied a correct solution. In the end they were awarded a wild card and were admitted to the finals. I think this was unfair, because other teams would never have gotten access to the right information.
If I'm not mistaken, all jury data is destroyed at ACM Finals immediately after the Final Standings have been made up. There's something to say for this. But I know how you feel (I probably missed the '94 finals because of similar mistake).
Correct.
One (obvious) consequence is that it is important to solve the easiest problems first. For example, if you end up with 6 solved problems, the number of minutes between the start of the contest and the moment your first correct solution was submitted, is effectively multiplied by 6.
Now look at the final standings of the '95 contest. The top two teams are divided by 3 minutes, each having solved 6 problems. That's equivalent to say taking 30 seconds to open the envelope with problems at the start of the contest.
We give the characters A,B,C,D,E a 'circular' ordering. I.e., B follows A, C follows B, ..., A follows E.
As input we get a string of at most 20 characters picked from A,B,C,D,E. Allowed substring substitutions are of the form AA->B, AA->E, BB->C, BB->A, etc.
Required output: a list of the single letters that the input string can be reduced to.
For example, BBBB can be reduced to B,D and E:
BBBB->ABB->AA->E
BBBB->ABB->AA->B
BBBB->CBB->CC->D
Exponential algorithms are easy.
Anyone know a polynomial algorithm?
Rijksuniversiteit Groningen participated in 1999, so that year is covered. However, it seems that 1998 went without Dutch teams.
Yeah, I went to HS with him. Brilliant guy, congrats Ondrej! (ask him about when he built circuitry to play pong on an old analog oscilloscope. It was a scary rats nest of wires, but worked )
Yeah, I was at aldershot, but I knew a lot of people from Nelson (some of which are here at Queen's). You might have even had my mom as your teacher at Tuck
But ever notice how no one ever gets any respect when hooking up a huge network of computers? Sure, programming is a very skilled way of thinking, but with networking you have to plan out the next few years worth of growth into your first setup. No time for "betas" here... Why couldn't they have a big prize giveaway for people that mapped out a huge and efficient network?
Just my $0.02
Wow. Look at the takeover by non-US teams. This contest has been going on for a very long time, and I was involved for a couple of years a while back. Came in 5th one year, and 8th the other, if I remember correctly. And almost all of the top teams were US universities at the time (I think Eindhoven was there and was the only foreign team that did consistently well).
So what has changed? Several things that I can think of: it was always an international competition, but I don't remember this many non-US teams in the past. In particular, when I was competing, the Berlin wall was still up, so we didn't have any eastern European or Russian teams! But even the non-US teams that were there were typically not very strong -- in particular, at that time many schools outside the US simply didn't have the facilities for people to be as experienced as people from US schools. I would imagine that has changed substantially, and non-US teams are now getting plenty of experience before coming to the competition.
Lastly, is it really that the non-US teams are getting that much better, or have the US teams lost something along the way? Cal Tech has always been good (beat my team both years I went, anyway), and they only got 4 problems, while the winner got 7? That's just not at the same standard they used to work at. Is the education failing these days, or are we not getting as many strong students in Computer Science as we used to?
I notice that there are no teams from British Columbia... which is sad... I'd never heard about this contest until now, while i'm in my last year of school...
:)
Does anyone know what the prizes were? I won a "software package and trophy" from IBM a few years ago and they sent me an outdated program that was no long supported and was barely functional without IBM hardware
Why are we mocking Microsoft in a post about a college programing contest. This is a joke , and it isn't even funny. I am not a judge of humour but, this comment is totally off topic.
I can make these machines do anything I want. Make this world anything I want it to be. Just so long as concentrate hard
And this is the reason I am not a programmer. Enjoy yerselves, boys and girls.
-Steve
My intelligence insults itself.
Looking at the North American team photos, I was struck by the narrow demographics represented... 1. Almost exclusively male. 2. Almost exclusively white or asian. Aren't there any black or hispanic geeks out there ? Or girlie geeks ? Why is geekdom so ethnically and sexually narrow ?
Quidquid Latine dictum sit, altum videtur (anything said in Latin sounds important)
Yeah, I entered this contest. I didn't do to well, though. You know how, at the time, you think you're coding well but you think back to it later and you realize you completely screwed up?
That's what happened here:
#include <stdio.h>
void main(int argc,char **argv) {
printf("Hello, world!\n");
}
Despite the fact that this program didn't answer any of the questions given, let alone do anything useful, I didn't come in dead last. I beat... what was it? I don't quite remember. Microsoft something-something 2000....
-Denor
Donny Cheung, one of the UWaterloo ACM members, was also a third of the UWaterloo Putnam mathematics competition winning team (which was held last December, the results of which were recently announced as well.) I guess it's just the difference between being able to solve problems, and just being a code monkey. Now I'm not saying it's something that can only be teached at a University (or something that can be taught at all) but I certainly hope people recognize that the difference between a mathematical CS education and a 6-month "I can program in 6 different languages!" technical degree is significant.
That's why Larry Wall is THE MAN!
Blender And Linux Fan
Wow, I've seen Donny Cheung in the hallways of the Math building, and never even recognized him... :)
"Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)
However, if a submitted program does not satisfy the automatic testing (and specs), penalty minutes , equal to the number of minutes since the contest began, are added to the team's penalty total. The penalty minutes are used if teams have the same number of correct submissions.
So first off, whoever has the most correct programs is the winner. If there is a tie, then whoever has the least penalty minutes wins.
"Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)
Though I can't confirm that, it certainly makes sense. Although for the kind of programming I really enjoy, the math isn't /that/ beneficial, for the problems the ACM suggests, it's huge. Being able to think in three dimensions, think in terms of efficiency, proving code, etc., that this university (UW) really hammers on can only help for a contest like the ACM.
-Sylvester
-Rob Ewaschuk
I'm not sure how the other schools form teams, but at Waterloo we do it by holding local contests (usually in October), and having the top six people form two teams (the A and B teams). These two teams compete at the regionals and the best goes on to the finals.
As for coaching, there's a professor here (Cormack) who handles most, if not all of, the coaching. I've no idea how much time is spent preparing for such things, but I've been under the impression that there is some preparation. Next time I run into some of the ACM people at school (I seem to know the bulk of the current and past contestants from Waterloo -- probably by hanging out in the Pure Math Club with 'em), I'll have to ask them how much training they do.
Preparation -- speaking as someone who used to be active in various scholastic contests in high school, preparation can play a large role in performance. By doing old contests you get a feel for how the questions are set up and asked, and so when the Big Day comes, you've already got a feel for the whole thing. Still, preparation can only help so much -- you still need a fair bit of talent to do well.
Anyway, just my thoughts on the issue.
Hope I'm not wrong in thinking that both schools with St. Petersburg are in the same city, but assuming I'm not this is quite a coup. I wonder if the city will honor them with a parade or at least a special mention from the mayor.
Being YA Waterloo alum myself, I'm really proud of those guys too but having two schools in the same city place 1st and 4th is downright amazing.
Also, congrats to all the teams to placed!
no sig.
Not to start yet another religious war here, but C and Pascal are, IMHO, more or less equivalent, especially for the kinds of problems they tend to use at ACM programming contests. The languages have pretty close to a 1:1 correlation on features.
When I competed a few years ago, of the people I talked to there was a pretty strong bias towards C or C++. But there were also some good guys using Pascal, too. It's just a matter of which you were more comfortable with.
I remember my first CS course...CS 134. Ahh yes, the beauty that is Pascal. The beauty of a sexy built-in "string" type. The pragmatism of the "var" and "type" sections. Ahhh. Excuse me as I wipe the tears creeping down my flushed cheek...sigh... I'm so pissed that C eclipsed Pascal in terms of popularity. What a fabulously sexy language. And more importantly, the beauty that was the Borland Turbo Pascal compiler for DOS. Ohhh. The greatest compiler ever (Borland Turbo C for DOS was equally sexy). Unfortunately, the U Waterloo CS department forced us to use a Pascal-like language, Modula-3, for several of our subsequent CS courses. A sexy language in itself, but nowhere near as simple and elegant as Pascal... Mr. Wirth, you've done us proud. Well, me anyway.
I'm trying to figure out the timing of answers, I'm used to the contest publishing results showing the time/penalty when a problem was accepted. It can be interesting to note which problems were easy, how many minutes it took to get the first problem solved etc. Does anyone have a link to the full competition results?
:)
Also, is the 20 minute penalty per wrong submission new? I don't remember seeing this before?
Ryan
rjshook@uwaterloo.ca
PS POETS is spelled like that, Piss on everything tomorrow's Saturday
The man? Yes. The language? No.
I participated in the regional competition last fall. We used Pascal and finished 2nd in the undergrad division.
47% of all statistics are made up on the spot.
I loved those things in college. Of course my time usually didn't fair as well as we should have according to our prof. but hey we also tended to be a little hungover for the contests:) Programing to solve a completely pointless problem that uses some little tricky algorythm sure as hell beats sitting in front of some other guys C code, commented in Swedish, that runs a query on an oracle database and trying to figure out why the report doesn't work anymore. oh well just my worthless .02$
I am 31337 or something.
Sheesh. Like what have you done for me lately, baby?
Paul
can someone explain how the scoring system (penalty minutes) are calculated/ thanks. Paul
I was kind of disappointed not to see CMU ranking high there, since I do have some school pride. Then I went to read the questions, and I was really disappointed. I think anybody who did decent in 15-212 (sophomore-level CS class) should have no trouble solving these problems. They are all pretty straight-forward, and I consider them pretty boring. When I mentioned this to a friend he said that in higher levels of such competitions it usually comes down to who can write the same code faster. I guess that interests some people, but I'm not surprised now that none of the "good" schools ranked high, since it's just not interesting. (For interesting problems, see http://members.tripod.com/~POTM/) Tim
I can tell you that practicing certainly helps. I competed in 98 and the team only solved one problem, then we started practicing every single day until the contest for 99 and tied for 18th (6th out of the US teams), so I can say that practice helps.
I was not at all surprised to see St.Pb. State win, and yet another team from the same city come fourth. The reason is that those people get professional coaching literally from the age of 10 or 11.
Math contests are extremely popular in this city, and in the 4th-5th-6th grade students who get the best results in those are attracted to attend the so-called "math circles" where, once or twice every week they solve non-standard math problems for a couple of hours, listen to the lectures on various scientific topics as well as problem-solving techniques. After that they go to specialized high-schools (#239, #30, a couple of others) where they get the absolutely best possible education in math, physics, programming, etc. Actually, teaching of other subjects is also pretty good. I've known quite a few people who got educated in that system, and they are very good.
As for this year's team - I know one guy, Kolya Durov (he's the short gloomy guy on the right on the picture). He's absolutely amazing, one of the finest products of the system. I graded some of his work at the Russian Math Olympiad and coached him for the International Math Olympiad'96 - not that he needed any coaching, he was already absolutely unbelieavable. He was only 13 (maybe 14, I'm not 100% sure) then, and won a gold medal at the IMO; he went there for the next two years and won gold as well. He also went to the Int'l Computing (or whatever it's called) Olympiad several times and got great results there as well (unfortunately, I don't remember what).
Moscow, where I am from, and some other places in the former Soviet Union have similar systems (e.g. my high school, #57 - anyone here?), but, realistically, nothing close. US can't even dream of something like that, though I begin to see some similar math circles here in the Bay Area - let's hope they will eventually give results.
When my university went to the regional programming tourney, MS was sponsering it. This meant you had to run on a MS OS and use MS tools. The team tried to use the MS Pascal compiler but it was full of bugs and very very old (does MS still sell a Pascal compiler?)The judges would not allow any othe compilers and the team had to switch to C and they were dead. (The first 2 years of CS at my school used to be Pascal, so it was a natural choice for a mixed team or sophmores/Juniors/Seniors) I do not know if MS is still sponsering the events, or if they still mandate the use of thier software. Spacecase
writeln ('This whole competition is stupid. You cannot rate a program or a language except relative to ther programs; and new programs are always written, so there is no zero ground. Therefore this is stupid.')
(did i forget a semicolon or something? it won't compile.)
--
Rank Name Solved Penalty
1 St. Petersburg State University 7 941
2 University of Waterloo 7 1641
3 Albert Einstein University Ulm 6 1003
4 St. Petersburg Institute of Fine Mechanics and Optics 6 1051
5 The University of Melbourne 6 1156
6 Tsinghua University 6 1358
7 Kyoto University 5 1096
8 The Chinese University of Hong Kong 4 712
9 Shanghai JiaoTong University 4 758
10 University of Alberta 4 818
11 Bangladesh University of Engineering and Technology 4
11 California Institute of Technology 4
11 Charles University Prague 4
11 ZhongShan University 4
15 Carnegie Mellon University 3
15 Massachusetts Institute of Technology 3
15 Moscow State University 3
15 University of Central Florida 3
15 University of Toronto 3
15 University of Washington 3
15 Virginia Tech 3
22 Bucharest University 2
22 Georgia Institute of Technology 2
22 Harvard University 2
22 Iowa State University 2
22 Novosibirsk State University 2
22 Southern Ural State University 2
22 Stanford University 2
22 Universidad de Buenos Aires 2
22 Universidad Politécnica de Madrid 2
22 University of Pretoria 2
Sorry for the slight loss in formatting.
kwsNI
In fact, one team sent several requests, and then flagged down one of the IBM systems people after the contest to complain in detail.
Most teams seem to have noticed that problem F was fishy.
Peter Doege
I agree that Problem F was poorly specified.
The judge's attitude seems to be "deal with it". I would have prefered that they had released a distribution all that contained an updated problem spec.
That being said, some teams, and at least one coach working on the sidelines, got the answer. Remember, it's your job to make the judges happy, not the other way around.
Peter Doege
PS. Were you on the team that I chased out of the contest hall? I was the big red headed guy controlling the contestant doors and doing some of the physical security work. If they had known how polite, friendly, and non-violent I am, they would have never given me that job. :)
I was on the Stanford team (we sucked badly), and I must say it is the most frustrating thing to have a solution which works for every testcase you can think of, but is still rejected by the judges. And very demoralizing to watch eventual winner St. Petersburg State University sitting at the table next to yours and racking up the balloons (one for each problem solved).
One coach at the contest noted that, for U.S. teams, the teams are often formed by students having a local contest and just picking the students who do the best. The students then go off and find someone to be their "coach" for registration purposes only. Whereas for non-U.S. teams, there is usually a prof who is very active as coach, who coordinates team practices and such, and sometimes hand-picks the team members. Not sure how much of an effect this has on team performance.
Another proud waterloo CS student. Waterloo CS is the best in the world(actually 2nd best:)) I've seen you ACM guys in the 3rd floor comfy lounge.Couldn't stay because it stank so much.
bizarre. you know what i mean.
Katsuyo Mori
it should be clear that geeks are in it all for the nooky the same way mere mortals are. bizzotch.
Katsuyo Mori
Actually, Waterloo is not "much less known". They actually have a fine Global reputation, which is why the king of Saudia Arabia sent one of his sons there. But they aren't really well known in the US which is not the same as not having a reputation. Most Americans in the CompSci world know Waterloo because Maple(tm) and many other initiatives came out of Waterloo. It would also surprise many to find out that in North America, one of the schools most targeted for recruiting (in Comp Sci at least) is Waterloo. Having said that though, I go to Western (rival to Waterloo) and must also add, that I think Waterloo's reputation is also highly bloated. ;) Cheers iJeff PS congrates Waterloo and St. Petersburg. (I've been to St. Petersburg and recommend the city for a visit)
In my defense (so that my fellow geeks will not think that I turned down that once-in-a-lifetime opportunity to hang out with a "cool hacker chick" for a while...) The Mystery Fun House sounded very LAME, from the first time I read about it in the AAA guide. Donny (I should say something legalistic here so that the Mystery Fun House doesn't sue my pants off! Please don't sue my pants off, Mystery Fun House, it's the only pair I'm wearing right now!)
I feel that the thing to do is not to be bitter. There were teams which, like your own, solved problem F very quickly realizing that it was an easier problem, only to have "Wrong Answer" shot back. However, a few teams eventually deduced what was going on and fixed the problem. You can disagree (as I do) with how the problem was judged, but in the end, being bitter solves nothing. I certainly think teams which deduced the problem with the testing data deserve to have problem F under their belt. (I am not being biased by the fact that Waterloo was one of these teams.) Some school suggested afterwards that the entire question be struck from the contest and not considered at all. This is no solution.
There is nothing that can be altered with the competition results that is fair to everyone. Any team which has endured a regional contest where large mistakes are made realize that sometimes bad things happen to good people and that dealing with these issues is a part of the competition.
The lack of admission of error and the secrecy of the datasets is standard practice. I think every team should be prepared for this possibility. Anyways, having looked at some old regional competitions, I see a few instances where even the sample data given in the problem is incorrect. I hate to say that this is part of the game, because in a fair world, it is not, but the world is even less fair than the competition.
Donny
For all of those eastern US coast like collage getting all these high awards and all this stuff. I used to know turbo pascal when I was a sophmore. But one question, why was Pascal banned back then?
------------ I like trance music.
We (UC San Diego) were also at the contest and got stuck on Problem F (the first problem we attempted), and spent most of the contest trying to figure out why what looked like a correct solution (according to the spec in the problem) wasn't working. Overall the contest would have been a lot different without problem F.
Hi. I was the member of St.Petersburg team in the last 2 years (2nd and 9th place).
// Oleg Semenov
St.Petersburg teams always use pascal, because it is times easier to find bugs in pascal programs under such a horrible time pressure.
There were at least 5 females present (not including coaches) although 2 of those were reserves. I was one of the female reserves. Personally, I think there are two main reasons that this competition has few female participants (I can't say anything about blacks): 1) Females in general are still taught logic weakly and late. Many males are, too -- don't get me wrong -- but for various reasons females seem to be more at risk for this and less likely to pick logic up on their own. (If you want to discuss nature vs. nurture with a biobehavioral anthropologist, I'd be happy to volunteer.) You can argue what skills exactly this contest tests, but no logic-impaired VB code monkey and no undergrate student who is barely passing Computer Organization (the class I TA) has the logic skills to solve even one of those eight problems in less than 5 hours. 2) The nature of this competition is ... well, competitive. I spoke to one of the other females there -- her team always works together on one problem at a time. She felt quite warm and fuzzy about this method, but realistically it didn't work so well for her team. I think this highlights some of the discomfort that normal females feel when considering joining the team. In order to make the team at our school (UCF), you compete at a local contest. I've dragged several females to the practice locals in the past two years, but none of them have come back for the real local. They gave various excuses which mostly boiled down to "it's too stressful". I find the competition fairly stressful myself -- especially because most of the good programmers I've met tend not to be people who are real easy to get along with -- but I've found that the absolute rapture of fast and furious (but not unstructured) coding makes up for the stress and the strong urges to choke your teammates. Besides -- I admit it -- I love to beat the pants off guys. I guess what I am trying to get at with point #2 should actually be two separate points, one of which ties in to point #1 ... First, females in western culture in general do not value high competition as much as males do, and this contest is high competition. (Again, I am willing to debate the roles of genetics and environment as factors for this, but I think you must admit that right now this trend is generally true.) And secondly, the males who do compete are enough to turn anybody off. *grin* No offense to you guys (especially my team) -- but hackers have a culture all their own, and it's not one most females feel comfortable joining. As my co-workers (males all, and team members or ex-team members) often say, 90% of all programmers suck. It just much more noticeable with females because you only have 10 total to start with. That being said, I would like to point out that there *ARE* females who program and program well, and there *WERE* females at the contest, and you guys were mostly to shy to even talk to me. Hell, I did my best to hit on Waterloo and Donny wouldn't even go to Mystery Fun House with us. *frown* So before you go complaining about the lack of cool hacker chicks you need to get enough courage to talk to the ones you already know.
The Faculty of Mathematics and Natural Sciences at Universiteit Leiden has a somewhat similar organization, but I'd consider MSU a much better candidate.
Note that St. Petersburg State University has a similar organization of having a Mathematics and Mechanics Faculty. It probably used to be called Leningrad State University back before "glasnost."
I could go with either MSU or St. Petersburg as being "the ones." St. Petersburg has been doing very well in the ACM contests, which suggests that they are likely rather good.
Whether that's from student selection ("nature") or quality of teaching ("nurture"), or some combination of both, is another question...
If you're not part of the solution, you're part of the precipitate.
A professor of mine (Dr. Hans Koomen) had developed a contest more focused on planning, design, and doing it right.
In 1996 (the only year it was run - if at all it was) it was a Chinese Checkers competition. Build a chinese checkers player, and duke it out. There was a hack contest in the morning too... I wanted to see it happen while I was there, but it never came about. Too bad, seemed like it would be fun.
What surprises me is the number of people here complaining about problem F, describing in detail how the dealt with it, but noone said they submitted a clearification request.
-- Abigail
Don't forget WATFOR the Fortran compiler that an entire generation used at school.
Great Final Standings! But, how the heck are we going to know what the code is?
I mean, where is the beef?
Like any beauty contest, we gotta see the gams and curves in the codes.
Forget the judges (they are fine anyway), I wanna see the beef!
Where is the beef?
I'm not going to speak for the other top U.S. schools, but I was on the CMU team, and I can give you two reasons why we didn't finish in the top three.
* It's not the school that wins the contest, it's three individual students. One excellent programmer from an average school is worth much more than a good programmer from a top school.
* CMU does not practice for the contest. Some teams spend 10 hours a week preparing for the contest starting at the beginning of the year. CMU comes every year, cold, and almost always finishes in the top 25%, sometimes higher.
There were other reasons we didn't do as well as we wanted to - see my post on the controversy, below.
Dominic
IBM rented Universal Studios for the after-contest celebration. They spent a lot of money trying to attract the best and brightest.
Peter Doege
Isn't he dead already?
- Waterloo has been placing in the top six quite regularly, of late.
- No US institutions have been placing in the top 4, or, this year, in the top ten.
The one non-apathetic thing I did in my time at UW was to help get teams heading back to the ACM Scholastic Programming Contest. That was quite a lot of work, and not terribly worthwhile at the time. It sure feels worthwhile now...Not MIT. Not CMU. None of the UC schools. Not Stanford.
If you're not part of the solution, you're part of the precipitate.
If you're not part of the solution, you're part of the precipitate.
I've often wondered how these sorts of things should be resolved, and I don't really have any answer. I'd certainly be very angry if that were the case and I'd had to spend hours on the problem. I got lucky. (I just hope I do better next year).
logan
Delphi is allowed. Which is really just Object Pascal with a nice gui maker. Anyway all of the teams I know who placed well at Regionals used pascal. It is simply safer, and a whole lot faster to develop with. I like C/C++ as much as the next guy, but use the right tool for the job.
Anyone who cannot cope with mathematics is not fully human.
I was on the CMU team. If you look at the statistics, you see that we solved 3 problems and were ranked 15th (in a tie). This is not what actually happened. We actually solved problem F correctly and did not get credit for it. At least a dozen other teams were also denied credit for a correct solution to this problem.
The controversy is that the judges and ACM contest staff still claim that there was no error in the grading of the problem, and that their datasets were consistent with the problem statement. Here's why I don't believe them.
Take a look at problem F. (Here are the contest problems in PDF if you're interested.) In a nutshell, you're given a complete directed graph, and you need to return the average length of all shortest paths between all pairs of nodes. The problem explicitly stated that you will only be given graphs in which there exists a path from every node to every other.
This is not a hard problem to work out, but anyone who has had a formal course in computer science ought to recognize that the Floyd-Warshall all-pairs shortest path algorithm is designed to solve exactly this problem. Then all you have to do is add up all of the elements of the matrix and divide by n * (n-1).
Except that the judges made a mistake, and tested our input using a graph that was not connected - in other words, there were nodes that could not reach other nodes via a directed path. This would not be a big deal, except that the problem explicitly stated that this would not occur. (Input validation is never a part of this contest.) Furthermore, without further explanation it is unclear how these nonexistent paths should affect the average. It turns out that the judges' solution was not counting these paths, and averaging only the paths that existed. Some teams did this by accident, and others (including Waterloo) figured it out only after submitting multiple runs and incurring large penalties. My team was one of the many that did not figure out the judges' mistake, so we did not get credit for the problem, even though our solution was certainly correct as the problem was worded. If we had received credit we would have had four problems correct, possibly putting us in the top ten. Of course, if we had received credit right away, we might not have wasted so much time figuring out what was wrong with our solution and we could have solved another problem in that time. Of course, many other teams were in a similar situation, so I have no idea what the final ranking would have been, but clearly it would have been different.
Now for some disclaimers.
First of all, I do not know firsthand that the judges had an incorrect data set, because their policy is not to release the data sets they use to test our programs. However, literally dozens of the 60 teams there encountered this error and many of them gained serious evidence that this was in fact the exact error. For example, one person showed me code he had written that would cause the program to seg fault if and only if the graph was not connected. He turned it in, and he got "runtime error" from the judges, indicating his program crashed. When he removed that line, he got "wrong answer". Even the team from Waterloo agreed that the data set was faulty.
Also, I am not trying to imply that the teams that did win did not deserve it. All of the top teams did an excellent job and deserve to be congratulated. I'm mostly upset that the ACM contest staff will not either admit there was an error, or release the datasets to prove there wasn't one.
Dominic