Slashdot Mirror


TopCoder Open 2004 Programming Tournament

TAG writes "TopCoder just announced rules for this year annual international programming tournament. The 2004 TopCoder Open, Sponsored by Microsoft will set as rivals some of the IT industry's top professionals and international collegiate coders. Software will be designed and developed. Seemingly unsolvable algorithmic problems will be solved. $150,000 will be awarded over the course of 14 weeks. 24 of the world's best programmers will be invited to compete live at the onsite finals in Santa Clara, CA, USA. This competition is 'Free'. Yep. Free as beer. Everybody over the age of 18 is eligible. So? What is your TopCoder rating today?"

42 comments

  1. This is what recruiting has come to? by chris_mahan · · Score: 2, Interesting

    Is this what corporate recruiting has come to? A love-fest?

    As the artist forerly known as Prince, and now known as prince again would say: "Party like it's 1999". (dot com ref for the dense)

    --

    "Piter, too, is dead."

    1. Re:This is what recruiting has come to? by Anonymous Coward · · Score: 0

      Since my days as recruiting officer at Starbucks (NY), I have always chosen the applicant with the biggest tits. You just can't have enough horny huge-titted latin cunts around you.

  2. OO-Centric by pkhuong · · Score: 2, Interesting

    quoth http://www.topcoder.com/tc?module=Static&d1=help&d 2=codingWindow

    "TopCoder currently allows coders to utilize Java, C++, C#, or Visual Basic .Net as a competition programming language."

    "Your solution will essentially be a class that contains at least one method - as defined in the problem statement. "

    From this we learn that good programmers only use Algol-like languages (In fact, C-like) or VB, and all use OO.

    --
    Try Corewar @ www.koth.org - rec.games.corewar
    1. Re:OO-Centric by HappyKleenexDude · · Score: 2, Interesting

      Classes don't make a program object-oriented. You could write your entire program in the class's single method, and it certainly wouldn't be OO. As for the languages, well, it's pretty standard. The ACM ICPC and IOI also both heavily restrict language usage to these languages or fewer (although I think you can use PASCAL if you really want). Perhaps the idea is that 'good programmers' aren't language dependant, and can carry over their skills to at least one of those languages.

    2. Re:OO-Centric by pkhuong · · Score: 2, Informative

      The ICFP doesn't require you to use any specific programming language.

      http://www.cis.upenn.edu/proj/plclub/contest/faq .p hp

      "What will the submission format be?
      Your entry to the contest will be a plain text file in a format that we will specify in the task description.

      You may write your entry entirely by hand, or generate it using tools in a programming language of your choice; we will ask you to submit the source code for these tools (if any) along with your entry, and we will look at them for purposes of awarding the judges' prize, but we will not need to run your tools on our machines."

      --
      Try Corewar @ www.koth.org - rec.games.corewar
    3. Re:OO-Centric by hsoft · · Score: 2, Interesting

      I was about to register there when I bumped into the language list. Too bad they don't have pascal (MS sponsored, I should have known...). I know that I should be able to write in one of these language, but people using one of these language as their main language will always have a considerable advantage over me (Except for VB coders, of course, who are inherently bad coders ;) ).

      I prefer the way ICFP does. It was my first try this year, and I liked it. Too bad my brother and I made bad design choices at the start, we couldn't make any useable ant AI on time... I have a great (delphi) ant simulator though...

      --
      perception is reality
    4. Re:OO-Centric by Anonymous Coward · · Score: 1, Interesting

      The ICFP doesn't require you to use any specific programming language.

      Er, and the IFCP does not require source to be immediately uploaded to their servers, compiled using their software, and tested using their test programs. They have to restrict the languages to do that. Deal with it. It's not some secret plot to push OO solutions. The class is required only for symmetry with languages like Java that require methods to be contained inside classes.

    5. Re:OO-Centric by pkhuong · · Score: 1

      The ICFP still manages to test solutions, does it not?

      --
      Try Corewar @ www.koth.org - rec.games.corewar
    6. Re:OO-Centric by pkhuong · · Score: 2, Insightful

      BTW, I forgot to add this to my first reply: Good programmers use the right tool for the right task. If a task is simplified by, say, dynamic typing, continuations, closures, backtracking or run-time definition of functions, why should one not use a language that responds to one's needs? From what i gather, the reason for the language restrictions in these contests is mostly that most of the problems would be too easy in many excluded languages.

      --
      Try Corewar @ www.koth.org - rec.games.corewar
    7. Re:OO-Centric by Anonymous Coward · · Score: 0

      The ICFP still manages to test solutions, does it not?

      Test solutions? Sure, but ICFP is very different from TopCoder. Here's how TopCoder works (or at least, how it worked the last time I competed, which was a while ago):

      You have a time limit (somewhere around an hour or two) to come up with some source code that answers 3 challenges correctly for all test cases that they have provided. The whole competition takes place over the course of a single night, and they could hold multiple competitions per week. The faster you come up with the solution afer reading the answer, and the more difficult the challenge, the more points you get for your answer, assuming it is correct. In order to avoid someone submitting binaries that could attempt to compromise the server, they only allow people to submit source code that they compile and can examine/sandbox for safety purposes. They might be able to do the same thing with a chroot'ed jail or something, but they need the source anyway, because there is a phase of the competition where the people competing against you can read your source and submit a test case that causes it to fail, giving them points.

      Now, how are they supposed to do this if they allow the code to be written in any arbitrary language?

  3. TopCoder by RealityMogul · · Score: 4, Informative

    Does anybody here actually take part in their competitions? I tried it and it blows. All the so-called competitions are the same damn thing over and over. It's a few nested loops every time. It's either process this number using this formula, or sort this data.

    The people that have the highest scores have little templates built with all the variables and loops setup already, so all they have to do is write one or two lines. Yeah, that shows who the best robots, err, I mean coders are.

    1. Re:TopCoder by Anonymous Coward · · Score: 2, Insightful

      It at least demonstrates that they have the analytical ability to evaluate a group of problems and abstract the common elements of those problems to reduce coding effort/time.

    2. Re:TopCoder by HappyKleenexDude · · Score: 2, Insightful

      "It's a few nested loops every time. It's either process this number using this formula, or sort this data." At the lower levels, perhaps. Their single-round matches are designed so that a large range of skill levels can compete. I suggest you take a look at some of the problems from the later rounds in the last TCO - they're all available online - and you'll see they're more complex than you describe.

    3. Re:TopCoder by SilentStrike · · Score: 1
      suck at topcoder. hopefully I'll break out of division two (requires a 1200 rating, gained ~70 points last match) tomorrow. But even the highest point question in division 2 requires some mathematical or algorithmic insight to solve. Sure, the easiest in div 2 are trivial, and the medium in div two is usually just a few nested loops, but the division 1 problems are much harder. To call the highest rated people just a bunch of code monkeys is a huge understatement. They are quite intelligent people.

      I also do problems from the UVA ACM problemset, which are typically more difficult. However, they aren't realtime, so they don't get give you any competitve rush like topcoder.

    4. Re:TopCoder by Sparr0 · · Score: 1

      I want to, but the software apparently doesnt work on my machine. FireFox .9x with JRE 1.4.x (ive tried many combinations, hence the x's). I can get the little popup to show me a LAUNCH button, but the button does nothing.

    5. Re:TopCoder by Chromodromic · · Score: 2, Insightful
      Yeah, that shows who the best robots, err, I mean coders are.

      Yes, I often encounter this attitude among those that suck at TopCoder. Well, if that's all there is to these "so-called competitions" then, you know, just make some "little templates" of your own -- be a "robot", that is -- and make yourself $50,000 in the algorithm competition. I mean, that's all there is to it, right? Just a few templates? All those other guys are just robots ...

      Or, here's an idea, you might try stowing your ego for ten minutes, and actually trying to learn something. Because something tells me if you were in contention for the top prize, you'd hardly be calling the competitors at TopCoder, who've worked hard to develop their talent with algorithms, "robots".

      It's better for everyone to think you're an idiot, than for you to open your mouth and remove all doubt.

      --
      Chr0m0Dr0m!C
    6. Re:TopCoder by ZorbaTHut · · Score: 1

      I was thinking of posting something like this, but decided not to. But you did it for me! Thanks. :)

      It always bugs me when people put down things they couldn't do. I mean, I could play baseball professionally, right? You just hit the ball. It's not that hard.

      -ZorbaTHut, ranked #5 in the world on Topcoder

      --
      Breaking Into the Industry - A development log about starting a game studio.
    7. Re:TopCoder by Reiners · · Score: 1

      So, basically, you didn't do very well, right?

    8. Re:TopCoder by RealityMogul · · Score: 1

      Obviously you're a total genius, and know me better than anyone else to be able to take a few sentences and determine enough about me to figure out my motivation, skills, and personality.

      Have you ever thought of starting a psychic hotline, you'd be really good at it.

    9. Re:TopCoder by BlightThePower · · Score: 1

      Thats round one...

      --
      Plays violent online games as: Nerfherder76
  4. ACM by fishybell · · Score: 4, Insightful

    As far as I can tell, this is run exactly like the ACM annual contest. You go in, solve a few problems, and go out. From what I can tell, the ACM is better because it only allows college students to enter, you go in teams, not as individuals, and it's sponsered by IBM, not Microsoft.

    --
    ><));>
    1. Re:ACM by VisorGuy · · Score: 0

      I never went to college you insensitive clod!!

      --
      This user account is inactive account replaced by the PDA
    2. Re:ACM by SilentStrike · · Score: 1

      It's sponsored by Microsoft. Therefore, you get to take money any from Microsoft. How bad can that be?

      The cool thing about topcoder is they have real time competitions over the internet a few times a month. And then they will have a summary of how the round went along with solutions at the next day.

      It's not like you can only do one, both are worthwhile IMO.

    3. Re:ACM by Anonymous Coward · · Score: 0

      The format is entirely different. ACM is 5 hours, three team members, maybe 10 problems, one computer, you don't really get test cases and you have to write the IO. Generally ACM problems are each written by a different judge.

      Topcoder is real-time, much less time, 3 problems, single competitor, often there's no parsing necessary, and there's a challenge phase unlike anything in ACM. Problem sets are written by a single person.

      In the ACM, you are some friends are carefully working through a long set of problems. You write stuff on paper, converse, and generally work as a team. In Topcoder you're racing against other individuals for the best score.

      They are not "exactly" alike at all, though they are both programming contests and have the features that a programming contest must have.

  5. Wow... expired certificates and all... by Vaginal+Discharge · · Score: 3, Interesting

    You'd expect that TopCoder would have uptodate security certificate. But apparently, when I'm trying to download the applet, I saw that their certificate expired in January. So I'm just supposed to trust them huh?

    From what I've seen and heard, the problems are not terribly complex, but instead they make you do them as fast as possible. How does this make people better coders? I'd rather spend a week on a really challenging problem, than to spend 30 seconds and write as many for-loops as possible.

    --
    "Glory is fleeting but obscurity is forever" - Napoleon Bonapart.
    1. Re:Wow... expired certificates and all... by HappyKleenexDude · · Score: 1

      While speed is an important factor, actually being able to solve the problems is far more important. The easy problems are easy, as they're supposed to be. The hard ones are complex enough that the vast majority of coders participating cannot solve them within the time limit.
      For anyone who wants an actual example of what complexity level the solutions to these problems are, take a look at the editorial for the last TCO finals: http://www.topcoder.com/tc?module=Static&d1=tourna ments&d2=tco03&d3=summary&d4=final_analysi s As for the security certificate, well, yeah, they should update that.

    2. Re:Wow... expired certificates and all... by notyou2 · · Score: 1

      Okay, maybe I just can't see it... is there a link ANYWHERE on that page to the actual problem descriptions?

      The problems sound really interesting, but it's very frustrating not having an actual statement of them on that discussion page! Please post a link if there is one.

    3. Re:Wow... expired certificates and all... by HappyKleenexDude · · Score: 2, Informative

      Unforunately you have to log-in to be able to read problem statements (registration is free).

      For those willing to register and log-in to see them, the problem statements are at:
      http://www.topcoder.com/stat?c=problem_statement&p m=1315&rd=4711
      http://www.topcoder.com/stat?c=problem_statement&p m=1972&rd=4711
      http://www.topcoder.com/stat?c=problem_statement&p m=1986&rd=4711

  6. No PERL? No Great Hackers :) by aralin · · Score: 1

    Well, they won't get me to compete in Java, C++, C# or Visual Basic.NET. Thats for sure. You can see that the competition is sponsored by Microsoft there :)

    --
    If programs would be read like poetry, most programmers would be Vogons.
    1. Re:No PERL? No Great Hackers :) by SilentStrike · · Score: 1

      At least for their previous competions, the C++ compiler they use is g++. The contest applet runs happily on my Linux box. Topcoder isn't influenced that much by Microsoft, or else they surely wouldn't offer Java.

      But nontheless, I'd like to have the opportunity to use different langauges (Python!). But I can see why they would want to support only 4 langauges, rather than 50, like they would have to if everyone could use their pet langauge.

    2. Re:No PERL? No Great Hackers :) by anonymous+cowherd+(m · · Score: 1

      I wonder if they'd accept using Jython as a "library". ;)

      --
      http://neokosmos.blogsome.com
  7. Why limit languages? by GnuVince · · Score: 2
    Why do they limit the choice of languages? I mean, why not let Smalltalkers and APLers participate with their language of choice as well?

    One of the requirement could be to clearly comment the code.

    1. Re:Why limit languages? by fatmonkeyboy · · Score: 2, Informative

      One of the requirements could be to clearly comment the code.

      You obviously don't understand these competitions.

      The tricky part isn't the programming. These are small programs. It's figuring out WHAT to program that is difficult - the problem solving portion, you know?

      The whole idea is to write the code quickly and your score is based on the time it takes to complete it. So, how much time should someone spend on comments?

      You'd have to somehow assess the value of someone's comments to offset the cost of the time to write them. This is would, of course, be almost entirely subjective and would add all manner of complications to the contest. Best to keep it simple, in my opinion.

      By the way...as it stands, the tests for correctness, etc. are done automatically by basically unit-testing the submitted code. So to even look at the comments would require actually hiring people (and not just any people...programmers!) to sit there and look every submission. Needless to say, that's a LOT more expensive than running a simple shell script ;)

      As for why they don't support Smalltalk or APL...well, I don't know. It might have to do with the number of users. The languages they DO support are currently the most popular ones.

      Their reasons could easily be political or technical as well though.

    2. Re:Why limit languages? by Anonymous Coward · · Score: 0
      "most commonly used" != "most popular"


      I'd concur with Paul Graham and say that Perl and Python are much more popular, at least with "real hackers". For hire code-monkeys, maybe not.

    3. Re:Why limit languages? by Anonymous Coward · · Score: 0

      "The whole idea is to write the code quickly and your score is based on the time it takes to complete it. So, how much time should someone spend on comments?"

      So, basically, what you're saying is that TopCoder is all about encouraging programmers to be the sort of self-centered bastard you want to murder when you have to maintain their code.

      A TopCoder winner is not a person I'd want to have to work with.

      The ability to churn out fast-cooked spaghetti code is not a virtue for a professional developer.

    4. Re:Why limit languages? by fatmonkeyboy · · Score: 1

      So, basically, what you're saying is that TopCoder is all about encouraging programmers to be the sort of self-centered bastard you want to murder when you have to maintain their code.

      No, that isn't what I'm saying. I thought I made this clear.

      How about an analogy?

      NASCAR isn't about teaching drivers to speed 300mph down Main street while taking their kids to school.

      They know better. So should TopCoder participants. Do they? Well, if they don't then they aren't likely to have been very good software developers in the first place.

  8. I also suck at html by SilentStrike · · Score: 1

    The first link Previewing would have been nice.. oh well.

  9. Is this a new trend? by gipsy+boy · · Score: 1

    I don't mean this as off-topic flamebait, and I'm kinda unaware of how fast things evolve there in the States, but.. "Cash prizes will not be paid to residents of Cuba, Iran, Iraq, Libya, North Korea, Sudan, or Syria." Is this new or s'thing?..err, it doesn't sound very legal.

    1. Re:Is this a new trend? by Anonymous Coward · · Score: 0

      Terrorist sponsering nations. Duh.

      Though the argument could be made that Iraq should be removed now.

      And "doesn't sound very legal" ??? It *is* the law here in the U.S.

  10. Why not all languages? by michaelzhao · · Score: 1

    It seems unfair to have a restriction on the languages used. They should have one defined problem with many languages to approach it.