There has been some interest in having programming "contests." Post here any ideas on particular challenges and how to run them.

Flash Competitions

Competition is started and finished in a single day. People must complete an appropriately small task by the deadline (say, near midnight or so). The challenge should be small enough to be finished in at most an hour in a straightforward challenge, but points should be awarded for people that put extra time in to use special techniques to meet other criteria (size, speed, or both).

I'm thinking of assembly competitions in particular when I write this, because a challenge such as:

is easy to run and mark, although not too many people are interested in them. It's possible to extend such challenges to other languages, but size isn't a fair criteria considering the variety of compilers, platforms and libraries available across many systems (source size could be done too, but who wants to run an obsfucated code competition?) It's possible to have such competitions with criteria for graphics, sound, style.. but it becomes difficult to judge and requires fancier evaluation schemes, such as voting for entries.

-- SebastianHubbard

I don't know how necessary it is to worry about "judging" criteria. Most of the fun is in writing the programs, not receiving a pat on the back if you "win," right?

This idea seems like it requires very little planning, so why don't we start running with it now? How about for every "contest," we choose a set number of people from the group to come up with the challenge? When the time comes, they decide what it should be, without revealing anything definite in advance, and everyone works on creating solutions. Choosing multiple people to create the challenge reduces the chance of someone choosing a really dumb subject. ;)

If the target time for completing a solution is really in the neighborhood of one hour, I might even consider participating in this myself. :D

-- AdamChlipala

Count me in

-- DonalConnolly

Number Jumble Tournament:

Premise: You are given 10 randomly selected whole numbers of type real ranging from 1 to 100 and the operators for Addition, Subtraction, Multiplication, Division and Power.

The program to find the most unique equations in one minute wins the round.

Restrictions: Each number may only be used once and must be used. Operations are allowed on both sides of the equation. You can not use the equation symbol more than once. I.E. 4 = 3 + 1 = 6 - 2 Mirrored equations and operations equal under the associative property will be considered the same and will only be counted once.

I.E. 1 + 2 = 3, 2 + 1 = 3, 3 = 1 + 2, 3 = 2 + 1 are all the same.

Round Details: One set of numbers will be generated at the start of each round and will be given to each participating program. Any program that submits a false equation will be eliminated. The programs with the lowest score will be eliminated. All programs sharing that score will be eliminated as well. Should a round exist where all programs have the same score no programs will be eliminated. The last program left wins. After 3 consecutive rounds with no eliminations all programs left will be considered the winners.

-- DavidSnider

I'm interested. If anyone else is, let's get together on IRC or use the wiki to set up an official date and time to run the programs. -- MikeNolan

ProgrammingChallenges (last edited 2008-07-09 05:48:09 by localhost)