Compsoc Progcomp

Introduction

Welcome one and all, this is the second programming competition being run by the computing society during the 2007-8 academic year. It has been split into three parts, for each part you have two weeks from the date of announcement in which to complete the task. Each problem is quite small in nature, and is suitable for both inexperienced and advanced programmers to attempt.

If you have any questions, or problems then please email progcomp@uwcs.co.uk

Results should be announced within two weeks of the completion of each section of the progcomp

Prizes

For the first part of the competition, the first place prize is a Creative Xen mp3 player, and 2nd place is a copy of the Art of Computer Programming by Donald Knuth. Due to lack of entries there will be no prizes for the second progcomp. For the third part, an EEE PC will be first place prize, with a Creative Xen mp3 player for second. There is a high quality set of wireless senheisser headphones for third place and the final 2 parts of the art of computer programming for the entrants who came 4th and 5th.

Results

Problem 1

The following is the results table of scores and entries. If you are an entrant you should receive an email with personal comments about your entry. Congratulations to all entrants, and best of luck for progcomp 3.

PersonPerformance+AccuracyCode QualityTotal
D. Bewick5032.582
T. Monks4039.579.5
J. Fearnley303969
YY. Chen353267
G. Williams253964
D. Buckley4517.562.5
C. Lamb204262
K. Bhardwaj153247
A. Hazelden103444
SS. John Green53742
C. Couzens532.537.5
L. Randusova532.537.5
S. Rice532.537.5

The following list of people made brave entries but were unfortunately not able to enter, or submitted late. We thank you for your submissions.

  • J Adelman
  • S Gynn
  • J Ross
  • I Norris

Problem 2

There were no entries for the second problem.

Problem 3

We apologise for the delay in marking programming competition entries, and hope this hasn't adversely affected you in any major ways. The entries were scored my average number of guesses. Unfortunately some entries had issues with certain inputted words. For example their program terminated without a guess. Consequently the score given is AVE_GUESSES * 1000 / WORDS_GUESSED. This had the effect of altering the top three entries.

PersonAve GuessesCorrect InferencesScoreCode
David Buckley (Bucko)7.102009937.1520644511link
John Fearnley (sudilos)7.1780010007.1780000000link
David Bewick6.555009057.2430939226link
Chris Couzens7.2770010007.2770000000link
Ben Falconer (zed0)7.4140010007.4140000000link
Michael Tandy (mike)7.7410010007.7410000000link
John Oliver (sticky)7.9280010007.9280000000link
John Aldis (Nugent)8.6490010008.6490000000Requested Privacy

The following list of people submitted solutions but were unfortunately disqualified or unrunnable, thank you for your submissions. If you have any issues regarding marking please contact the progcomp mailing list.

  • Ghoballan Williams - Solution was very generically architected, but unfortunately incomplete. It did run, but only answered for 74/1000 cases.
  • Chris Lamb (lamby) - A very simple and neat solution, unfortunately susceptible to non-termination. I didn't have time to determine the specifics, but it kept on guessing the same word repeatedly for some inputs.
  • James Adelman (Whythehell) - Completed academic study.
Notes From marker:
  • In both cases the cause of an inference failing (Bucko and Bewick) was minor and non-algorithmic and I concluded that to disqualify them would be overboard.
  • Bucko had explained why and offered a suggestion as to how to fix the problem that caused his segfaults. I decided not to apply his solution, since it meant altering the marking scripts just for him - but it didn't matter since he won anyway.
  • David Bewick was a little bit unlucky, but it was a more common problem for him, being nearly 10% of cases. Since it was marked under mono (on compsoc's Backus server) and he had written his solution in .net I checked that the specific exception that was being thrown wasn't due to a bug in the mono system.
  • Several solutions required alteration in order to force their i/o subsystems to flush output. I consider it reasonable to make these changes since I only specified printing to stdout, and didn't say it had to work if stdout was a pipe to another program.
  • Some people submitted multiple times - their last solution was preferred.

Schedule

  • 11th March Problem 1 Announced
  • 25th March Problem 1 Submission Deadline
  • 25th March Problem 2 Announced
  • 8th April Problem 2 Submission Deadline
  • 9th April Problem 3 Announced
  • 23rd April Problem 3 Submission Deadline

Submission

The submision procedure is the same for all parts, just dates differ. Also each problem is judged seperately, so for example if you did badly in problem 1 - you still have an equal chance to everyone else to win problem 2.

The source code for completed solutions should be emailed to progcomp@uwcs.co.uk. You don't need to include the dictionary file, since we will be providing one of our own, but please specify how you got the program to compile/run, and what environment you used to write it in - e.g.'SUN java 1.5' or 'Windows/Visual C++'. You can implement all the problems in any language that you choose.

If you have multiple files then these should be be compressed into one file with either tar/gz or zip.

In order to identify you we would like to have a Name or nickname for identification along with your university card number, in case of namespace clashes! You are able to submit more than one solution if you so desire.

We intend to publish results on the website - if you don't wish for your source code to be made availible then please say so in your submission email and we will happily respect your wishes