Newsgroups: comp.org.acm
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!night
From: night@jec308.its.rpi.edu (Trip Martin)
Subject: Re: Programming contests (was Re: Yet another posting...: )
Message-ID: <ct9g_2m@rpi.edu>
Nntp-Posting-Host: jec308.its.rpi.edu
Reply-To: night@acm.rpi.edu
References: <91120.075856TAINT021@ysub.ysu.edu> 	<9105020134.AA29577@enuxha.eas.asu.edu> <MIKEG.91May2084328@c3.c3.lanl.gov>
Distribution: na
Date: 9 May 91 18:24:12 GMT
Lines: 49

mikeg@c3.c3.lanl.gov (M. P. Gerlek) writes:

>Given that programming contests are good for business in that they
>create interest for high schoolers and keep college kids busy (half
>grin), here's the deal.  Along the lines of what Roger posted, why not
>bag the whole n problems in time t idea and go for 1 (one) problem:

>Outline one largish program - to use an infamous Merrimack College
>example, call it "Joe's Sub Shop": the program will, say, use queues
>to schedule arriving customers, have an ordering scheme to create
>subs, have an elaborate cost-figuring scheme ("pickles $0.25 extra,
>unless it's a large in which case pickles are free if it's not whole
>wheat bread"), keep statistics as to how many of each type sub
>ordered, etc etc.  Give them the problem by outlining the required
>tasks, and let 'em go to.

>This will encourage all team members to work together on one problem -
>something not much done now - as well as make them write modular code
>(n terminals for n team members might be nice).  We can't be too
>advanced - these are high school kids - but you get the idea.

>The teams will have to design and implement the program in one day.
>At the end, the programs are reviewed - this will take some time - by
>several judges independently on modularity, user interface, data
>structure usage, etc.  The opinions are tabulated, and the winner is
>declared.

One variant we've talked about here at RPI is to have a single project
that has a list of independent features to be incorporated.  The 
contest itself is divided into 2 parts.  The first part, each team
works on getting a minimally functional system running.  At the
end of the first part, the programs are all submitted and copies
are made for each team.  Each team then has say, a half hour to
sort through the programs and choose one (which can't be their own)
program which they will then try to add as many features as they can 
to for the second half.  Teams will get points for features that they've
implemented correctly, and also for other teams choosing their program
for the second half.

The idea is there the contest is divided into a "development phase", 
where each team writes a program from scratch, and a "maintenance
phase", where they have to try to modify code that someone else has
written. 
-- 
Trip Martin
night@rpi.edu
-- 
Trip Martin
night@rpi.edu
