I had lunch with several colleagues today and the subject of the BCS Programming Competition cropped up. Generally speaking there is a negative reaction to the competition since in its current form it rewards a hurried 'hack-led' approach to program development rather than a considered 'design-led' approach. This hacking approach is, of coures, the complete antithesis of what many in an academic department of compuetr science are attempting to instil in the students. To a great extent that's why the competition is promoted less than enthusiastically by some staff.
I am pretty agnostic about the whole event. I can see both sides of the argument but err on the side that it's to be treated as a bit of harmless fun and, a bit like the Brits Awards, not to be taken too seriously. OTOH, the BCS is the Society that represents professional software developers and so there is a conflict there in that they seem to be promoting poor engineering practice in their competition.
In actual fact the competition shares some of the characteristics of Extreme Programming (XP) [see Extreme Programming: A Gentle Introduction., for example] and as such could be promoted in that way.
This struck home on Saturday during the Scottish heat. The judges don't inspect/judge the actual code produced when assessing the success/failure of a submission. It's purely down to how well the program(s) transform input to output and the judges use 'secret' data input to assess the degree of conformity with the problem specification. I.e. the output has to be an exact match with that provided to the judges otherwise the attempt is deemed to be a failure. Naturally, this limits the type of problem that can be set. Given the restrictions in the types of problem I believe that a relatively inexperienced programming team could be coached in the techniques that would maximise their chances of winning the competition. I suspect, too, that these techniques are at odds with good programming practice. Perhaps I will be able to test my assertion if the Strathclyde team enter next year and the Unexpected Exception proves the rule ;-)
As I said earlier, the best way to treat this competition is as a bit of fun. That being said, the contestants do seem to to compete as seriously and as hard as they can and there's no doubt that there's kudos attached to winning a regional heat and progressing to the national final.