Good stuff for programming geeks
[ start | index | login or register ]
start > Programming Fun Challenge

Programming Fun Challenge

Created by tmoertel. Last edited by tmoertel 1220 days ago. Viewed 11879 times. #22
[diff] [history] [edit] [rdf]
labels
Category:Programming
attachments

The Programming Fun Challenge is a series of small yet tricky programming challenges that are occasionally offered up to interested programmers in the form of a competition.

PFC Revival

I'm keeping information on the coming great "PFC Revival" on a separate page: PFC Revival. Contribute!

The idea

Here's how it works:

  1. The task organizer creates a challenge, posts it, and sends me (via tom-pfc@moertel.com) a link to the task. I'll then forward the link to the members of the PFC-announce mailing list.
  2. The challenge offers a challenge task, a submission policy, a deadline, and judging notes.
  3. Programmers who accept the challenge write software to solve the challenge task. They submit their solutions (source code) according to the challenge's submission policy.
  4. The judge(s) review the submissions and post the results.
  5. As tradition holds, the winner(s) of the challenge task are offered the opportunity to design the next challenge.

The Challenge

This is the Programming Fun Challenge: The primary objective of is to have fun. That means that challenge tasks must have a high fun-to-yawn ratio: more problem solving, less boilerplate coding. Small yet difficult problems are preferred.

Further, most participants have busy schedules. Good challenge tasks, therefore, can be solved in a few hours by a skilled programmer. (Back in November >>komet ran a poll in a >>PFC-related diary entry. Over three-quarters of programming respondents preferred a task that could be solved in an hour or less.)

Summarizing, good PFC challenge tasks have the following characteristics:

  • Heavy on problem solving
  • Light on boilerplate coding
  • Can be solved by busy people, with little time

Notes on solutions

  • Any programming language is acceptable, provided that open-source compilers or interpretors for that language are available, and provided that the judge can execute programs written in that language on test computers.

Judging

[The following are jacob's opinions, not necessarily held by the rest of the PFC community.]

  • Criteria for judging should be clear but general — saying "write a good program to do task X" is too vague, and saying "write a program that executes in the smallest amount of time X memory given the full text of the King James Bible" opens the door for overspecialized optimization that many people don't enjoy.
  • Remember, the point is to have fun, not write mission-critical software; if somebody has a stupid trivial bug in their output format it's good form not to worry about it. Also I think it's a good idea to favor ties over complicated decisions as to whose code is really better, particularly when it comes down to a matter of size or microefficiency.

Past PFC Events

The following is a list of past PFC events.

1. Combinations and Permutations

2. Instant Messaging Server

3. Postnet Barcode Generator

4. Word Connector

5. Polygon Packing

6. Limited char-set string compression & decompression

7. Even Subsets

8. Peg Solitaire

9. Top 10 Words

10. Super Anagrams

11. Adversarial Game

12. Crossword Generator

13. High Turnover

14. (Lightning Micro PFC) Closure under suffix removal

15. Tragic

16. Spam checking

17. (Micro mini) Electoral-College Blaster!

18. The Good Gambler

Please login to post a comment.
community.moertel.com | Copyright © 2003–07 Moertel Consulting