Talk: C++ Countdown Pub Quiz (90 min)


This is a fun 90 minute session based loosely on the popular UK TV game show Countdown [1].

In the TV version, in each round, contestants have 30 seconds to find the longest word using only a small set of letters.

In this version, in each round, teams have ~8 minutes to write the smallest C++ program which includes a given set of tokens.

For example, the tokens in one round might be:

const char * tokens[] = { "catch", "[", "--", "operator", };

And a winning program (45 non-whitespace characters, can you write a shorter one?) might be:

class c { c operator*(){ try{ } catch(c x[]){ x--; } } };

The program merely has to compile! Nothing is being run! Don't write a main! There are no points for good style here! We certainly don't want any steenkin comments!

Speaking of comments, here's some from previous participants:

(1) This session was one of the highlights of the conference for me: it was so much fun! It was an extremely entertaining session and I really hope to see similar ideas in the future.
(Vittorio Romeo, Bloomberg)

(2) The format was really great; it encouraged healthy competition and allowed for some pretty heroic submissions, but it also kept the barrier for entry very low so that everyone could take part. I especially enjoyed seeing the ridiculous hacks which others would employ so that I could unceremoniously steal them for the next round. (Simon Brand, Senior Software Engineer, Codeplay Software Ltd)

(3) Pub quiz countdown was enormous fun. It showed me what C++ features I don’t really use very often and allowed me to deploy some very sneaky tricks that I wouldn’t touch in production code. Everyone should play it. At least once. With their boss. (Guy Davidson, Coding Manager, Creative Assembly)

Numbers are limited: minimum two people per team, maximum 12 teams.

Each team will need a laptop with wifi and a modern browser.

All programs will be written in the browser using a customized cyber-dojo [2] which will automatically tell you your program’s size, and your score.