Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Some contests?

by Rydor (Scribe)
on Jun 04, 2000 at 04:29 UTC ( [id://16242]=monkdiscuss: print w/replies, xml ) Need Help??

I think perlmonks should have a contest section. No biggie, just a "we post a challenge (e.g. play checkers), you write a script that does it." and you pit all the scripts against eachother, a la the prisoners challenge from the perl journal. I'd like to have those, just for fun, and you can have XP for prizes (or no prize, just for fun!)

Replies are listed 'Best First'.
RE: Some contests?
by neshura (Chaplain) on Jun 04, 2000 at 22:17 UTC
    I second this (e)motion!

    Quest to come up with contest ideas would be great. There's a lot of good ideas for quests that have been tossed around, now we just gotta get vroom to put one together.

    • quest for site themes (delivered site themes, not airy suggestions for vroom to implement in all that spare time he doesn't have)
    • quest for clone-clothing designs (t-shirt, hooded sweatshirt, whatever)
    • quest for challenge ideas... i don't know, i think it would be fun to make people do it in teams -- it is great for individuals to demonstrate their perl kung fu, but it might be a better learning experience if people with different levels of perl experience worked together on teams. or maybe i'm just too warm and fuzzy, and cutthroat competition would be more fun for y'all.

    e-mail neshura

      Why not both? There's room in the average Monks' heart for warm & fuzzy-ness, but cutthroat competition can be fun, too. I mean, the site's goal (or one of the many goals) is to teach and allow all the monks to share their skills; so cooperative contests (each team must have one member from each level through monk, or something like that) would fit in well.

      On the other hand, one-on-one competition is a lot of fun, and who knows? Some of us newbies just might surprise you.

      - Ozymandias

        I see your point, but given that the site is run pretty much by one overworked dude, I don't know how feasible it is.

        e-mail neshura

RE: Some contests?
by lhoward (Vicar) on Jun 04, 2000 at 05:06 UTC
    I think this is a great idea. Some of my fondest experiences when I was a young-and-budding programmer were challenges of this sort. I remember two in-particular. One was a day-long programming contest I participated in in highschool. At the beginning of the contest we were given a game (in this case, it was battleship-like) and we had 4 hours to design and code a program to play it, then after lunch our programs were pitted against each-other with the best program winning. The other happened when I was in college. Everyone in my class had to write a program to solve a sliding-tile type puzzle. For grading all of our programs were given the same input and benchmarked and the one that solved it fastest got the highest grade.

    My only concern is that a Perlmonks programming challenge like this could really burn up a lot of my free time :)


    The Seekers of Perl Wisdom posts where several monks post responses, and then someone benchmarks them seem to be popular. I think "write code to perform task X the fastest" challenges would be great and much easier to come up with "have program X and Y fight to the death" in a strategy type game contents. The ideas could be based on real problems.
RE: Some contests?
by BBQ (Curate) on Jun 04, 2000 at 20:08 UTC
    Why only stick to code? I like the idea of contests so much I'd extend it to the everyday needs of PerlMonks as well. I'm sure that we have people around that are skilled in many areas apart from perl itself! Aren't we all the creative types here? ;)

    Need a new logo for Perlmonks? Contest it.
    Frank, Bob and Joe need better names? Ditto.

    #!/home/bbq/bin/perl
    # Trust no1!
RE: Some contests?
by vroom (His Eminence) on Jun 05, 2000 at 19:49 UTC
    I like the idea and the less work I would have to do to make it happen the better. This means that your ideas for contests are key. Ideally if someone else (possibly the one who suggested the contest) graded/scored them that would be great.
      I see several different types of contests
    • Game oriented: Tournament type of setup for scoring. I think of nate and my AI class where we had to do that sort of thing with kalah. Each player could have a class which had a selectMove method. A game controller would then keep track of board position,score, and check validity of moves.
    • Level of correctness. Given a problem which program outputs the most correct answers. Benchmark them to break ties.
    • Subjective: ie Obfuscated Code or Perl Poetry.... which one is coolest? Regular voting would probably work... although we'd probably want to limit the time which people could vote on code... possibly how many votes a user got for a given contest... we would probably also want to hide the identity of the author of the code.
    • Perl Golf: shortest code that solves a particular problem wins
    Then there are just the questions of how code is submitted? Who can see submissions and when? How does scoring work for a particular contest?

    vroom | Tim Vroom | vroom@cs.hope.edu
      Okay, how is this for a setup:

      Two new sections are created:

      • Contest Ideas
      • Contests
      Where Contests acts as a "front page" to Contest ideas...Any idea that is voted enough gets bumped up from Contest Ideas to Contest, just as Seekers questions can move onto the Monastery Gates.

      Once the page has moved, the contest has begun. (I guess we could specify a starting date in the original idea as well as an ending date). Users can vote in the following threads until an ending date. (so each contest idea has time until start, time until end, and voting period).

      hmm, this is sounding more complicated than I wanted. Maybe just a Contest area, and Someone with high enough level can edit the top level post to mention that the contest is "officially" ended when that happens. (users can, of course, continue to post).

      I think I like the second idea better. Simple.

      However we work the contest, we need to make sure the solutions aren't easily available to other contestants.

      Perhaps the solutions could be posted in a private section and the section not opened to contestants. If someone views the solution page, they are disqualified from competing?

      Just my $0.02.

      J. J. Horner
      Linux, Perl, Apache, Stronghold, Unix
      jhorner@knoxlug.org http://www.knoxlug.org/
      
        That won't work, as anyone could simply not log in, or log in under a different ID to see those solutions.

        It depends if you want this to be competative or cooperative. I'm all for allowing posting anytime, viewing anytime. The worst someone could do is use other's code without giving credit. Their post will still be later.

      I really like the Perl Golf idea, where you have to have Perl do something with the least amount of code. I think it helps people practice and emphasizes program speed, which I find to be important, but rarely focus on it enough.

      -- zdog (Zenon Zabinski)
         Go Bells!!

      Hehe, I think every AI class has to have some contest like that. :) In mine it was a Wumpus agent. (Actually we had two, the other boiled down to a traversal algorithm for a vacuum cleaner.)
RE: Some contests?
by Adam (Vicar) on Jun 04, 2000 at 21:40 UTC
    Lots of people have posted this suggestion, and I've yet to see any posts explaining why this hasn't been done yet. My guess is that no one has posted specific ideas for the contest. So I propose that people start posting contest ideas, maybe Vroom could start a quest searching for specific contest ideas.

    And yes BBQ, Frank, Bob and Joe need better names.

      Dude, not all of us get to have real names that sound like handles, like you know who... :)

      #!/home/bbq/bin/perl
      # Trust no1!
        It took me a second to figure out what you were talking about BBQ. Then I realized that your name and "Frank, Bob and Joe" blended together in my post. I was not complaining about your handle...
RE: Some contests?
by Anonymous Monk on Jun 06, 2000 at 21:19 UTC
    This is a great Idea. It'd especially help some of those new to perl (like me) to be challenged and learn by doing.
RE: Some contests?
by providencia (Pilgrim) on Jun 05, 2000 at 18:51 UTC
    Maybe only allow 1 monk of each level to join teams.
    That way we would have an (in theory) even mix of experience.
    No less than 3 teams.

    Some things to consider:
    groups may get cliqueish (this has been my experience)with victory
    and only want to work as that group again.

    Maybe the groups could be randomly assigned with a virtual hat.
    Some groups may bicker about a group member that isn't holding
    up their share of the load so maybe the group that wins/places
    could vote on each other on how much XP they should receive from the booty
    i.e. 75% of your group members agree you should receive your XP
    so you get 75% of what your share would be. Or may be the group gets the average
    and The remainder could be split among the people who placed (let's have no 'losers' please)
    that way the desire to vote someone completely out 'unfairly' could be checked
    I don't know how well this would work.
    Just a few thoughts.

    If we can come up with some fairly good rules the moderation vroom
    would have to do <var>could</var> be minimized.

    I think we have a great group of problem solvers and we can come up with a way
    to make this happen.
      This seems way too complicated and rule-bound for this group of chaotic perl-loving Monks. Just have someone announce a contest, have people post their results, and if he feels like it, Vroom can come by after a week and award some bonus XP to the posts that have been ranked the highest.
How i see the contests organized
by Rydor (Scribe) on Jun 06, 2000 at 05:48 UTC
    I feel contests should be organized as thus: Ideas should be posted to a message board. Vroom, or someone else, decides an idea is good, and says (for example):
    "Make a perl script that plays spoons(5 rows of spoons, 1,3,5,7,9. take as many as you want from one row, loser takes the last spoon)! All scripts are sub routines that return an array of which row, and how many spoons. they are passed an array of the rows, and what the opponent did. No browsing the file directory (if you've read the perl journal, they've had contests where people can actually modify other scripts.) All scripts will play all other scripts 5 times. winner gets 200 XP. 2nd 100, 3rd 50."

    Contestants upload entries to ftp, or email with ___startmodule___ and ___endmodule___ . This is easy, can be run on a computer in a day, and can run for a week or two. It would hone up our algorithm skills, help those of us who wish for more XP, but just are bad at helping people, and have fun at the same time. good idea? @///usr////((:::::bin:::::::::perl::::>

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: monkdiscuss [id://16242]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-03-28 17:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found