Wednesday, July 1, 2015

Declaratively solving Google Code Jam problems

This spring my hobby of writing articles about competitive programming has become more serious: I've teamed up with Sergii Dymchenko to write two papers about solving Google Code Jam problems using declarative paradigm for computer science conferences.

The first one - "Declaratively solving tricky Google Code Jam problems with Prolog-based ECLiPSe CLP system" - we presented at the 30th ACM/SIGAPP Symposium On Applied Computing in Salamanca, Spain. (preprint)

The second one - "Declaratively solving Google Code Jam problems with Picat" - we presented at Sixteenth International Symposium on Practical Aspects of Declarative Languages in Portland, OR, USA. (proceedings, preprint)

Google Code Jam problems are convenient for demoing capabilities of various programming languages because:
* they are available online, so correctness of a solution is easy to verify by submitting output file in practice mode (unlike the problems used in Facebook Hacker Cup, which uses a similar competition format but doesn't allow practicing problems after the contest)
* any language can be used to solve the problems, including the one we're writing about this time
* the problems are well-written and tested (have you seen Google's problem preparation guide?)
* the problems allow to use a variety of different approaches and techniques, so whatever you're writing about, chances are you'll be able to find a problem which can be solved this way.

We certainly plan to continue writing about competitive programming - there are tons of topics there which have never been covered before. Well, it probably won't be Code Jam for the next article :-)

No comments:

Post a Comment