Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming IT Technology

ACM Programming Contest Results 274

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!"
This discussion has been archived. No new comments can be posted.

ACM Programming Contest Results

Comments Filter:
  • *woooooosh* (Score:5, Funny)

    by term0r ( 471206 ) on Sunday March 24, 2002 @02:42AM (#3215442)
    Thats the sound of those questions flying past way above my head...
    • Oh come now they are not that hard.

      I'm no compooter scientician but these questions are not very difficult. The difficulty is getting all the programs written in the small amount of time (which is why I'll probably never enter such a content). I wonder if perl is allowed (would make a bunch of the brute force i/o and calculations brain dead rote work).

      As for the questions themselves just taking the first question as an example:

      You need a function to calculate the volume of a sphere and another for the volume of a cube.
      Another function to increase the integral values by 1 until the value is equal to that of another point set of the other possible balloons or the box itself. (Knapsack problem if I'm not mistaken).

      Then sum up the volumes of the balloons and subtract the volume of the cubes to get the answer to be output.

      My tactic for doing these types of problems is black out all the superflous words and phrases and leave only the words which describe the problem (less distracting). Write down (with a pen) a strategy to solve the problem and do at
      least one sample case by hand to make sure the
      design is correct. Then code it out in C (because if you do it in any other language you are just being lazy hehhehehehe).

      Basically these are all questions any third year computer science student can do on their own (or at least I hope so) but it would be fun doing this kind of thing as a team.
      • Looking at it again I must add that the 'code solving' problem is actually harder than it looks.

        Time is your enemy.
        • Yes, they are usually harder than they look to the uninitiated. I'd recommend solving a few of them (try http://acm.uva.es -- they have an online problem set with an automatic judge) before dismissing them as easy.
          • I've done them before.

            In high school we used to get similar problem sets every month and would hand them in for bonus marks as they were optional.

            Too bad my university doesn't do the same for the various theory courses we have.
            • Sorry, I don't really believe you.

              My high school had programming contests as well, but they weren't at all comparable to the ACM problems in difficulty (especially since you could get part marks for answering some of the test cases correctly), and I doubt yours were. Some of the problems at http://acm.uva.es are so difficult that only 3 or 4 people have solved them.
            • by csbruce ( 39509 )
              Too bad my university doesn't do the same for the various theory courses we have.

              Prove that P=NP. Ten points. Plus Turing Award.
  • Here are the final standings. Note how close Waterloo came to coming in at second place! (Note that only the first few items has penalty numbers attached to them)

    Rank | Name | Solved | Penalty
    1 Shanghai JiaoTong University 6 | 831
    2 Massachusetts Institute of Technology 6 | 972
    3 University of Waterloo 6 | 974
    4 Tsinghua University 6 | 1186
    5 Stanford University 6 | 1264
    6 Saratov State University 5 | 532
    7 Fudan University 5 | 678
    8 Duke University 5 | 808
    9 Moscow State University 5 | 856
    10 Universidad de Buenos Aires 5 | 894

    11 Charles University Prague 5
    11 Royal Institute of Technology 5
    11 Seoul National University 5
    11 St Petersburg Institute of Fine Mechanics and Optics 5
    11 University of New South Wales 5
    11 University of Wisconsin - Madison 5
    11 Warsaw University 5

    18 Albert Einstein University Ulm 4
    18 Belarusian State University 4
    18 Novosibirsk State University 4
    18 Petrozavodsk State University 4
    18 POLITEHNICA University of Bucharest 4
    18 Sharif University of Technology 4
    18 The University of Tokyo 4
    18 University of Oldenburg 4
    18 University of Toronto 4

    27 California Institute of Technology 3
    27 Cornell University 3
    27 Orel State Technical University 3
    27 Queen's University 3
    27 Sofia University 3
    27 The Chinese University of Hong Kong 3
    27 The University of Chicago 3
    27 University of Calgary 3
    27 University of California, San Diego 3
    27 University of Central Florida 3
    27 University of Otago 3
    27 University of Texas at Austin 3
    27 University of the Witwatersrand, Johannesburg 3
    27 Virginia Tech 3

    Honorable Mention
    American International University Bangladesh Nanyang Technological University
    Amir Kabir University of Technology National Chiao Tung University
    Bangladesh University of Engineering and Technology National Taiwan University
    Cairo University Saint Mary's University
    Ecole Polytechnique Texas Tech University
    Ewha Womans University Universidade de São Paulo
    Florida Institute of Technology Universidade Federal de Pernambuco
    Indian Institute of Technology - Kanpur University of Arkansas
    Instituto Tecnológico de Ciudad Madero University of California at Berkeley
    ITESM, Campus Monterrey University of Nebraska - Lincoln
    LeTourneau University University of North Carolina
    Messiah College University of Wisconsin - Parkside

    Super-Region | Champion
    Africa and the Middle East University of the Witwatersrand, Johannesburg
    Asia Shanghai JiaoTong University
    Europe Saratov State University
    Latin America Universidad de Buenos Aires
    North America Massachusetts Institute of Technology
    South Pacific University of New South Wales
    • Congratulations Waterloo! Just proves that Canada is one of the best software programmer producing countries in the world. And Toronto was not far behind at 18th. So it looks like Canada had 2 teams in the top 20 and the United States had 4 teams in the top 20? Did I count that correctly?

      Not bad for Canada, a country with 31,081,900 people, compared to the USA, with about 286,686,848 [census.gov] people.

      • "Not bad for Canada, a country with 31,081,900 people, compared to the USA, with about 286,686,848 [census.gov] people."

        The ratios for 2002 Olympic medals were almost identical to this. Interesting Coincidence.

        The thing about CIS and Comp.Eng at Waterloo, according to various people who are/were educated there is that the environment is totally nuts. I went to their 'campus day' a couple of years ago and I was NOT impressed. It was like nobody (in the faculty) was interested in talking to you unless it involved their current research project. Many people transfer away from the university because the courseworks demands are simply unattainable if you don't live in residence and have to take time away from the work to commute or have to worry about family life. Not to mention the course selection system (which used to be one of the best anywhere) is now totally haywire ... the software was written by their own students and the 'testing' was done by putting it into use and watching what happenned. This resulted in very much screwed up course selection and billing. As to exams, you don't know your exam schedule (or conflicts) until a couple of weeks before exams, while you know more than a semester beforehand at other universities.

        • I'm going there (UW) next year for grad studies, and I had a really good impression of the university when I went there to talk to some potential research supervisors. In fact I carried on non-school/research related conversations with all 3 profs that I visited. About the school work being harder at Waterloo than other schools, I'm not sure if I agree with that. Perhaps the students there work harder, but I don't think the program could be much harder than any other school. There are lots of rumours like that about schools that aren't usually true. Waterloo is a large percentage engineering and math/sciences so a large proportion of the university is whining about how hard their programs are. At other universities, a much smaller proportion of students are complaining about their courses, while the Arts students are talking about how easy it is. This is how certain sterotypes are created.

          About knowing your exam schedule a semester in advance, that is ridiculous. I've been at UBC for the past 5 years and we are always told when our exams are about 2 months before, not a semester. And that is only the exam schedule draft. The final schedule comes out about a month before.

          • I'd beleive the rumors if I was you. A friend went there for one semester of his second year of Computer Science. He said that the easiest class at Waterloo was toughest than the tougehst class at his usual university and that he has '0' time to do anything else than homework and projects.

            God knows we did a *lot* of Magic the Gathering playing back home!
          • "IT IS NOT Slashdotted already."

            Sorry I thought it was slashdotted ... I opened the site just after the article went up and it took about 5 minutes to load. I later found out that this actually happenned because someone else on this shared 28.8 connection was downloading a big image.

        • Not to mention the course selection system (which used to be one of the best anywhere) is now totally haywire ... the software was written by their own students

          I believe you're talking about "Quest" which wasn't programmed by students, but by Peoplesoft. And it was pretty buggy.

          the courseworks demands are simply unattainable if you don't live in residence and have to take time away from the work to commute or have to worry about family life.

          It's absurd to think the time saved by walking/biking to school or back would make any difference in the world. Sure there is a lot of work, but the hour you'd save by not commuting would not make the kind of difference you seem to be indicating.

          As to exams, you don't know your exam schedule (or conflicts) until a couple of weeks before exams

          You get the schedule about a month and a bit before exams. It would be nice to have it sooner, but how can an exam schedule be determined before people stop switching courses?

          • "I believe you're talking about "Quest" which wasn't programmed by students, but by Peoplesoft."

            I stand corrected. A former w'loo Engineering student told me is was programmed by other students at that university.

            "It's absurd to think the time saved by walking/biking to school or back would make any difference in the world."

            I can attest to the fact that it DOES make a difference. Currently I drive to university (not waterloo) every day. And compared to my friends who live in residence, I have MUCH less time to do work. You see, I have to get up over 90 minutes earlier because I have to eat, shower, prep the car (remove snow/ice if necessay), drive, find a parking spot, walk from the parking to the lecture hall before class. While all they have to do is get up, wash their face, go to the 8:30 class and then eat/shower after it. And of course I don't have my computer and home resources on campus. I can't bring all my books with me (too heavy/bulky.) I have to drive home at the end of the day and help my younger brother with his homework and sometimes cook dinner (compared to friends on a meal plan.) That's 2-3 hours per day that the non-commuting people have over me. That's 120-180 hours per semester. Is it absurd that this much time would make no difference?

            "It would be nice to have it sooner, but how can an exam schedule be determined before people stop switching courses?"

            All they have to do is schedule the times but not the rooms. At my university, we know during course selection if we will have conflicts. This is especially important for people who are on weird schedules. We find out the exam room (which depends on the size of the class) maybe 2 weeks before exams.

      • Hmmm -

        Good for Canada, but Western Europe surely had a dismal showing. Nothing in the top ten at all.

    • Does this mean China will start writing more software than pirating from others? ;) (It's nice to see fellow country-men taking good use of their math prowess. Since the problems in these contests are math problems in disguise, they may start dominating this area in the future, after becoming comfortable at expressing with keyboards than pens.)
      • I think the fact that they like to pirate stuff is a good sign that they may start getting involved with open source software. That's what turned me on to open source stuff in general. I hated paying for software because I am cheap. I was always a pirater, but now I don't have to, because Linux provides me with a legal way of using free software, and I don't feel like I'm doing anything wrong. So as long as they develop a moral conscious, they may switch to open source stuff. And it is a good sign that they won the contest, it's just too bad contests like this don't get more publicity to kids. Instead all kids see are sports athletes and entertainers, which are far worse role models than programmers.
      • "Since the problems in these contests are math problems in disguise, they [China] may start dominating this area in the future, after becoming comfortable at expressing with keyboards than pens."

        I think that the Chinese seem to be so good at math compared to north americans because all schoolteachers in China get to specialise in two subject areas: Mathematics and one of their choosing. (This is according to a friend of mine from that country.) I've seen many school teachers who don't have a clue about order of operations.

    • by Anonymous Coward
      IT IS NOT Slashdotted already. Prove the fucking bastard that tried to karma whore wrong by clicking here [baylor.edu]

      Nice Lie Shit For Brains!
    • by lars ( 72 ) on Sunday March 24, 2002 @03:06AM (#3215500)
      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.


  • If you havent Acrobat you can use this..

    Programming Contest World Finals
  • pdf to html (Score:4, Informative)

    by mpjetta ( 146328 ) on Sunday March 24, 2002 @02:46AM (#3215451) Homepage
    For those who are unable to view PDFs.

    Here is the problems PDF in text format [adobe.com]
    • The proof that you can't teach "common sense" in a CS class.
      Here we have Adobe, a very successful software company, with
      some of the finest minds in its arsenal.

      Adobe's "engineers" did not think that it would be a good idea
      to cache the pdf files they translate. So, now we have hits of
      slashdot proportions, all demanding an on the fly pdf2html translation
      of the SAME file, and dobe does every translation on its own, thus
      reverse slashdotting the original site, costing itself CPU cycles/memory,
      and costing us time!

      What is so hard about a file-URL and a creation time-stamp key, that
      hashes into an HTML file in an PDF2HTML database?

      I know this is off-topic, but you would think Adobe would know about
      common sense coding .. oh wait, this must have been done by their
      cryptography department ;-D

      P.S. this would never have happened if they released the PDF specs, or dumped
      the conversion tool in some public site (e.g. simtel)

      --
      • Re:pdf to html (Score:2, Informative)

        by 56ker ( 566853 )
        Google [google.com] give you the option of viewing a pdf file as either a cached html file or a cached pdf file - I suppose that doesn't affect people who follow a direct link but for those people (the vast majority) who go to websites from search engines it does.
      • Re:pdf to html (Score:3, Informative)

        by XPulga ( 1242 )
        Adobe has released the PDF specs, they're here [adobe.com] (see the File Format Specification section).

        I saw it and thought "cool, I'll make my own pdf viewer which just throws fonts away and displays text and images without screwing spacing like xpdf does". Except that the document is awfully written (that's what happens on tech companies hiring more lawyers than engineers) and contains several references to compression algorithms that are way too generic.

      • What is so hard about a file-URL and a creation time-stamp key, that hashes into an HTML file in an PDF2HTML database?

        That still requires dowloading the original file on every request, thus slashdotting the original.
        • No, you can just request the HTTP HEAD, which will give you the modification date, among other data. Also, HTTP GET supports a syntax that basically says, "GET file if modified since..." That's basically the request your web browser makes, and how caching in your browser works.


  • Here is a Link to a HTML version of the PDF

    Problems [packetshield.com]

  • I'm impressed that I can picture everything logicaly in my head, but that's quite a bit of code, interesting as it may be. How big were the teams and how much time did they have?
  • by hacksoncode ( 239847 ) on Sunday March 24, 2002 @03:12AM (#3215512)
    My favorite (second hand) story from ACM contest history is one I like to call "Winning through intimidation".

    Back in the late 80s (when Caltech had a real team :-), the way they ran these things included a 1 hour prep period where you figured out how things were set up, got used to the compiler, etc.

    During this period, the captain of the Caltech team found a bug in the compiler, patched it in the binaries, and distributed the fix to the other contestants.

    Perhaps needless to say, we won that year :-).

    • by Anonymous Coward
      I (being an international ACM contest participant myself, 19th place in world finals in the early 1990's) contend that unless the person in question was on the team that wrote the compiler, it is impossible for anyone to "find" and patch the compiler within one hour, and even if it were possible, such a change would not be allowed to be distributed to every contestant's compiler, if it had only been discovered and fixed within the space of one hour (imagine the possible jeopardy to every team's compiler if the patch were wrong).

      Now, I *do* believe that said person may have found or known about the error _before_ the contest started, and had a known procedure for patching the binary. In that case, you'd just be applying a known patch (albeit by hand) to a known bug. But, to indepedently *DISCOVER* a bug and patch it, all within one hour under contest situations? You'd have to, just by chance, have a test program which causes the compiler bug to surface, then quickly write your own hex dump and patch utilities, debug and reverse engineer the compiler, discover and correct the error, test your results, and distribute it to the others.

      Do you think the contest organizers would accept some random patch by some random team, applied to EVERY team's compiler? The chances of a 1-hour hack being correct are diminishingly small. This must have been a previously well-known bug with an established fix, which the person in question simply implemented. Implemented in one hour, not discovered, corrected, and tested within one hour. Otherwise it would have been irresponsible for the contest organizers to accept it, possibly jeopardizing all contestants' development environments.

      Again, I've taken part in the international ACM programming contest world finals, and I know how things operate (the committee is VERY sticky about ANY changes, however minor, to the contest "rules"). This anecdoote makes it sound like ACM programming contest participants (or the Caltech ones at least) are superhuman engineers who can find, fix, and test errors in complex compiler software within one hour. If that's the case, get 'em working on gcc. I've got some obscure compiler errors which I would like to have corrected within the next hour :-)
      • It depends a lot on the specifics of the bug. Potluck - sometimes you come across a no-brainer fix. If you have the source code to the complier and/or you have worked with it extensively then it is quite possible.

        I'd expect the machines they were using had a full range of tools installed, and it's quite reasonable for the complier source to be there. If I were preparing for this competition I would certainly try to use the same compiler that the event uses.

        -
        • I'd expect the machines they were using had a full range of tools installed, and it's quite reasonable for the complier source to be there. If I were preparing for this competition I would certainly try to use the same compiler that the event uses.

          I was in this contest a few years ago (1996 in Philadelphia). The machines were provided by Microsoft. The compiler was MS Visual Studio running on Windows NT 4.0. In other words, no, the compiler source was not available. :-)

          • The compiler was MS Visual Studio running on Windows NT 4.0. In other words, no, the compiler source was not available. :-)

            But in other words the bug was probably a no-brainer :)

            -
    • by sunhou ( 238795 ) on Sunday March 24, 2002 @10:08AM (#3215965)
      During this period, the captain of the Caltech team found a bug in the compiler, patched it in the binaries, and distributed the fix to the other contestants. Perhaps needless to say, we won that year.

      Yeah, breaking the other teams' compilers would be one way to win...
    • My favorite stories come from when the University of Alberta (in Edmonton) hosted the Mountain Region contest back 'round 1983. At that time, we were experimenting with the process of remote participation. This turned out to be a good thing because the day before the contest there was a huge snowstorm that snowed in the Calgary team and so, despite being the closest (non-hosting) team to Edmonton, they ended up competing remotely (after some last-minute setup scrambling).

      The New Mexico team, on the other hand, drove through Calgary on their way to the competition....
      We never let Calgary live that one down. I think we actually suggested that we could send the New Mexico team back to pick them up. :-)
      ____

      My other memory was talking to the NM team after the competition. Being the New Mexico team, I guess that it wasn't a big surprise that they started grilling us on Canada's nuclear capabilities.. The girl that was grilling me was apparently attempting one-upmanship, but she was rather surprised at the answers...
      (kinda reminded me of talking to MS worshipers about Linux)

      Q: Does Canada have any nuclear Weapons?

      A: yeah, (genie missile) but we're trying to get rid of them.
      Q: And where did you get those nukes from?
      A: The States, I think, but we could build our own nukes if we really had to.
      Q: Yeah, right. Does Canada even know how to make Nuclear Reactors?
      A: Yeah. The Candu Reactor -- it has a great reputation worldwide.
      Q What's their average downtime?
      A: Downtime??? Zero!
      (their jaws drop) Uhm, well, we've got one 20 year old reactor that's been down for the last few of weeks -- and everybody's been screaming about how much that downtime is costing Ontario Hydro. Other than that, though, they don't even need to shut down for refueling.
      They then explained to me that some of their reactors had up to 90% downtimes (at which our jaws dropped).

      Apparently, most US designs are generally just scaled up experimental breeder reactors -- they are ok for weapons manufacture, but suck commercially. The Candu, on the other hand, isn't too bad at weapons materials manufscture but it was explicitly designed to be commercially viable.

      I think that they left Canada suitably impressed.

  • Solutions? (Score:1, Redundant)

    by The Creator ( 4611 )
    Is it possible to see the different solutions of all the teames? They would be wery interesting, but i can't seem to find them.
  • oh...I missed my flight to the Contest city...otherwise all the 9 questions would have been solved.... :(
  • Or am I getting smarter? Six years ago when I saw the contest problems I was really impressed by how hard they were; now, I can see how to solve three of them immediately, and four others look easy enough that I expect I could work them out given half an hour each.

    Too bad I'm not an undergraduate student any more...
    • While you are probably getting better, it is a lot easier to talk about solving the problems than it is to actually do them (spoken as someone who went to ICPC last year and only solved one problem). You need to be careful about the algorithms you use; some of the "easy" problems have unspecified bounds on the size of inputs, which makes the problems much harder than they appear.

      Even teams that got zero problems correct are very talented; it may not be evident from their scores (they take great pains to point this out during the contest). A lot of things can go wrong during the contest: team disputes, misreading problem statements, compiler issues (they use IBM's products which don't always give the "expected" behaviours). What often happens is that a team gets stuck with a 90% correct solution and finding the bug is a truly horrible experience; you don't know the inputs or outputs!
      • Reminds me of what happened to our team last year. On one problem took us 10 minutes to code, and we got it back 4 times marked as wrong. It ended up that we were using regular ints instead of long ints. Now that is a crock. They should have given bounds on the problem input size. So, as a rule, always use long doubles and long ints when doing stuff for ACM.
    • I would expect someone who is a Putnam Fellow to be able to figure out how to solve these problems without too much difficulty! If I know how to do them, surely you should, since you're much smarter than me. There is definitely some variation from year to year, and I did find this year's problems more straightforward than some of the previous years. But I think a large part of that is simply that some of the problems are less wordy this time around, so they're easier to comprehend with one quick read. I don't think they're any easier to implement though, and there are a couple that do require a bit of cleverness.

      I just looked at the 1996 problem set, and I immediately see 4 problems that appear to be straightforward simulation or brute-force search type problems, so I don't think it's really any different. Perhaps being a math person you missed the trivial nature of certain problems, for example by expecting there to be a clever approach where a dumb brute-force search would work. Or perhaps it's just that you're older and more experienced now.

      By the way, first and second year graduate students ARE eligible for the ACM contest.
  • by BigOneBitey ( 300676 ) on Sunday March 24, 2002 @03:55AM (#3215568)
    Many of the ACM competitors from English speaking countries compete weekly at TopCoder [topcoder.com].

    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.
  • by cscx ( 541332 ) on Sunday March 24, 2002 @04:01AM (#3215578) Homepage
    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.
    • by Bodrius ( 191265 ) on Sunday March 24, 2002 @05:00AM (#3215637) Homepage
      I agree that Fortran 90 could have been allowed, but I'm not surprised.

      Students simply don't know Fortran, it isn't taugth anymore. I seriously doubt it would be such a great advantage in these problems, but if it were it would put most students at a dissadvantage just because they don't know it anymore than they know COBOL. Sort of like allowing Perl for a string-manipulation competition if only 1/25 students had ever seen a line of Perl.

      I don't think you have to know Fortran if you're a problem solver either. It's really not that great, and it doesn't seem so different to me as to give completely different approaches to the same problem. So I see no good reason why it should be taught more frequently either.

      Sure, Fortran 90, is quite a decent language, and it's worth checking it out; far from the horror stories I had been told about Fortran, or the old Fortran code I had to read through a couple of times.

      But there are many good languages out there, and since there are resource constraints, there's really no good reason to include Fortran if it doesn't bring something drastic to the table.

      Four C-like languages are already plenty to handle. They were chosen obviously because they're the C-like languages used to teach in 99% of CS/CE courses.

      I wonder, though, at the restriction of using only C-like languages. Being a collegiate contest, I don't think assuming some exposure to functional languages would be taking too much of a change, and that can definitely make a difference. Allowing SML/CLISP/Haskell would be rather interesting, if they make good problems.
      • You can, actually, use scheme as well as Java and C/C++.

        Just make one person memorize the code for a scheme interpreter beforehand. Have him type it in at the beginning of the test (while the other students think about the problems), and voila -- your whole team suddenly becomes a couple-hundred IQ points smarter.

        You just have to get used to writing scheme code embedded inside of a gigantic string constant...

    • Fortran is a non-existant language, as far as college students are concerned. At the University of Texas at Austin, the required(*) languages are C++, Java, some assembly, and usually one functional language (Haskell or Scheme). The better programmers usually learn one or more scripting languages on their own (Perl, Python, and sh being most popular). There is a remarkable lack of multi-lingual students; I've often wondered if this hurts them (thinking about problems more abstractly with higher-order functions, recursion, and coroutines).

      (*) Our department has a policy of teaching concepts, not languages or technologies. Required is a minomer, but most students learn these in the introductory classes.
  • Page 2 - "This page is intentionally blank". IBM harking back to the good ol' days?

    Dave
    • You'll notice page 16 is also blank. My guess: they printed the questions out on both sides of the paper. By making each question 2 pages long the contest pack could be separated into individual questions.

  • by Blue23 ( 197186 ) on Sunday March 24, 2002 @07:39AM (#3215789) Homepage
    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)
  • What is the world coming to? Soon half the webpages out there will have the title 'New Page 1'..
  • USACO (Score:3, Informative)

    by datawar ( 200705 ) on Sunday March 24, 2002 @09:30AM (#3215926)
    If anyone is interested in a programming contest for high school kids, check out USACO [usaco.org] (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. :)

  • Was anyone else... (Score:5, Insightful)

    by Lictor ( 535015 ) on Sunday March 24, 2002 @11:27AM (#3216138)
    ...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.
    • by Tom7 ( 102298 ) on Sunday March 24, 2002 @11:51AM (#3216209) Homepage Journal
      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 ;)

      • At least they have some sense of humor:

        Problem B Undecodable Codes

        Phil Oracle has a unique ability that makes him indispensable at the National Spying Agency.


        (it would be even funnier if the guy was called Bill Oracle or Ellisun Gates, but then they would had gone too far...)
    • No, I don't think that the ACM thinks that there is anything wrong with functional programming languages. However, it would be difficult to have the one set of problems and allow both functional languages and procedural languages. Some problems would benefit from one type of programming language. To provide consistency and make the contest more "fair," they only allow languages that are similar in power and usage.

      Although you raise an interesting point: why isn't there a separate contest for functional languages? I think that would be equally interesting.
  • This programming contest looks much more like an odd math contest and one that measures skill in computer programming.


    Almost all of it is about optimization problems. I see little place for real-world issues like abstraction, concurrency, standardization, business problems (i.e. unstructured complexity).


    I am sure it is good fun, and is a good predictor of math intelligence, but I would not call it a programming contest.


    Then again, Computer "Science" has all too frequently been treated and taught as a wierd form of math, when almost all uses of it are in engineering. This may be one reason for the embarassingly slow progress in the field.

    • And I suppose you've come up with just such a set of problems and a methodology to judge them? Didn't think so.

      Your complaint is common but poorly thought out one. Yes, in some magical theory land where CS professors frolic in a field of daises maybe this would work out great. Software elegance in a timed environment is a dumbass idea. The high pressure environment is completely at odds with slow,deliberate,well thought out designs. If you're timed the most appropriate situation is "get it to work at all costs".

      Most often the people who raise this complaint are people who were kicked off a programming team or never qualified in the first place.
    • Almost all of it is about optimization problems. I see little place for real-world issues like abstraction, concurrency, standardization, business problems (i.e. unstructured complexity).

      Well, you see, that stuff isn't difficult.

It's hard to think of you as the end result of millions of years of evolution.

Working...