This article is more than 1 year old

The Register IBM Bluemix programming challenge: The winner!

High standard of entrants impresses our judges

A month ago we announced our first coding competition, The Register's IBM Bluemix Programming Challenge 2015.

The judges have just completed the evaluation of the entries we had to the competition. And you know what? We're very impressed.

Just three of the entrants failed to get any of the answers right, which is far better than we're used to seeing in the competitions we've run over the years. Three entries had all three questions right, which meant we had to look to the tie-breakers (specifically the execution speed) in order to decide on the winner – and in fact two more were achingly close to having all three right, with just a handful of test cases not handled correctly.

The overall winner, though, with three questions and the fastest ­running programs, was David Conneely, from St Albans, Herts. Well done, David - we hope you will enjoy your prize, a 55in Panasonic Viera TX-55CX680B LED 4K Ultra HD Smart TV.

There were also pleasingly few silly errors – incorrect case in output data, spurious whitespace or extra output alongside what we'd asked for. Only a handful of solutions ran on past the time limit. And there was just one that committed the cardinal sin – failing to process correctly the sample input that we gave in the question!

This competition was unusual in that as well as designing algorithms to solve the problems correctly, the entrants also had to get to grips with the Bluemix environment.

In most of the competitions we've done the contestants can use their own favourite development environment and then submit the source code for marking, and so getting to grips with Bluemix was an extra thing to achieve. We also had very few queries about the Bluemix platform itself – we're sure IBM will find that reassuring!

A few comments from the judges for those of you who might enter similar competitions in the future:

  • Be fastidious with your output format. Don't leave whitespace or blank lines unless you're told to, don't display anything that you're not told to display, and remember that the sample output is there partly as an aid to you formatting stuff correctly.
  • Write your own test data that validates as many special cases as you can think of – and particularly the boundary cases. The judges are likely to test the extremities of the spec – and of the input format description.
  • Work with what you're given. We did have one entrant comment that in the real world you wouldn't get test data in the kind of format we were using. Our responses are: (a) if you want the marks, get over it and solve the problem as we've set; and (b) we've been in the real world of IT long enough to know that the world is full of bonkers data formats that are sub-optimal but which you have to live with!
  • Don't assume that because a question sounds familiar you automatically know how to answer it. This was a common mistake for question 2 (if you're wondering what we mean, ask yourself what would happen if the Royal Mint added a 12p coin and you wanted to dish out 36p).
  • Make your output look nice. If it's correct but untidy we'll never mark you down, but it's polite to make stuff readable for the judges instead of (for instance) plonking the answer miles down the screen or in a wacky colour scheme.

Next, to answer the obvious question: no, we're not going to tell anyone where they went wrong or what test data they fell down on, and we don't enter into correspondence or post-mortems post-competition. Our test data is secret because we don't want to compromise our ability to be sneaky in future questions. In all the years we've run programming competitions our policy has always been not to give the game away by exposing test data or giving too many hints as to the nuances of the problems we set.

To sum up, then, we've been very impressed with the quality and number of entries. The overall performance across the entries was well above the standard we're used to, particularly with the additional hurdle of getting to grips with Bluemix. And the winning entrant clearly thought through everything correctly and produced three decent, efficient algorithms, and the runners-up were very close behind.

Finally, a word of thanks to all who entered. An impressive number of you did so, and we sincerely hope you enjoyed it – it was certainly a pleasure to have so many entries to look at. The judges will now retire to their darkened room to devise the questions for the next one ... ®

More about

More about

More about

TIP US OFF

Send us news