Slashdot Mirror


Introduction to Competitive Programming

chrisjrn writes "Last year, I unexpectedly found myself entered in the Australian Computer Programming Competition, and somehow did well in it. As a result I decided to write a guide as an introduction, for high school-level students (and others, I suppose,) into the world of programming competitively based on my experience, and how to go about successfully competing in competitions." Article looks like a good start, I'm sure Slashdot readers can add many more tidbits of wisdom.

9 of 211 comments (clear)

  1. Good Info... by Knight+Thrasher · · Score: 4, Funny

    Just one tip:
    Needs more Caffeine.

  2. Competitive high school programming teams ... by Average_Joe_Sixpack · · Score: 5, Funny

    Now there's a scary yearbook shot

    1. Re:Competitive high school programming teams ... by Spy+der+Mann · · Score: 2, Funny

      Now there's a scary yearbook shot

      You think that's scary? Wait till you go to anime conventions!

  3. Re:Good Public Relations by Nuclear+Elephant · · Score: 3, Funny

    Really, the best way to encourage current high schoolers and college students is support at the school level.

    Hot college chicks running the contests always helped encourage me.

  4. Re:cooperating like code chickens by Syrae · · Score: 2, Funny

    If I hit my head against this wall, that almost makes sense.

  5. Not a 'great' guide, but good points by OverlordQ · · Score: 2, Funny

    I know a couple of the comments he makes to make you better like creating a template can and most likely are against the rules (I can attest to at least one competition that it is). And he is correct that more languages you know the easier it is if you switch between them. I remember one problem, that was easily solved in 2 short lines of Perl, which required the C coders to write quite a few more then that.

    --
    Your hair look like poop, Bob! - Wanker.
  6. Re:Why? by Anonymous Coward · · Score: 1, Funny

    Yeah, HTML is tough, huh?

  7. My experience by Reality+Master+101 · · Score: 4, Funny
    When I was fifteen, I was in a programming team competition (about 25 years ago). I think we all had Pascal computers or some such. We knew going in that there was going to be one "primary" problem, along with several lesser problems. We would be scored based on the "correctness" of the algorithm, the speed of execution, that sort of thing. The team agreed that I would take the primary problem, and others would work on the other ones.

    So I'm a hot shot junior programmer, ready to take on my assignment. Here was the problem: "You have a number of cities mapped on an x,y grid. A travelling salesman wants to find the shortest route between the cities. Calculate the shortest route." We had two hours or something.

    I'd never heard of this problem before.

    So I was like, "Hey, no problem. This is eeeeeasy." So I went off in my youthful exuberance with a blank piece of paper, figuring out how to solve it. Hmmm. That idea was good -- except it wouldn't work for this one case. How about this idea -- nope, that one will hang up on this other case.

    Minutes ticked away as I sweated the problem. There HAD to be a solution to this. Half an hour, then an hour -- I'm growing desperate. What the hell? This problem is freaking hard. Finally I'm like, "screw it" and threw something together at the last minute. We ended up losing because I spent too much time thinking about it.

    I still think it was goddamn unfair to give an UNSOLVED PROBLEM in a programming contest for high school students. I'm still pissed about it to this day. Grrr. :D

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:My experience by lucm · · Score: 2, Funny
      The travelling salesman problem is a textbook example of neuronal networks application.

      Now please don't ask me about those neuronal networks theories. My knowledge of neuronal networks does not go any further than the travelling salesman problem because I found out a while ago that there is now way I will ever need to know more about it, and still I could use it to impress my dates or the mouth-breather in the adjacent cubicle.

      Now if you are skilled in the field of analytical behaviorism you could guess from the above paragraph that I am indeed a very good Perl programmer.

      And in order to win (or at least do well) in a programming contest, how would a good Perl programmer solve the travelling salesman problem in one hour?

      He would spend 5 minutes writing a fairly reliable random function and spend 55 minutes obfuscating the code. In the end the output would be somehow similar to whatever crap other people wrote using STL or QBasic and at least half of the fun would be to look at judges while they try to extract a solution from an ascii chef-d'oeuvre.

      --
      lucm, indeed.