We congratulate the winners of QuID 2019 hackathon:

Miguel Bastos, Viktor Fukala, Pedro Ramos, Diogo Soares

Project: Renato Renner’s communication game

Rules for the hackathon

  • Teams of 2-4 people
  • You can program in any language
  • There’s a list of project proposals below. You can also work on your own ideas. In this case, discuss with the helpers for your favourite language, to see if it’s realistic to do so in 24h.
  • Evaluation criteria: Does it run? Is it interesting? Is it new, or a translation from other languages?


  • Submit via GitHub by Friday 1pm
  • Project presentations: Friday 2-3pm
  • Winner announcement: Friday 3:30pm


  • The building closes overnight, and opens early in the morning.
  • On Thursday we have J3 reserved, on Friday G7.
  • Coffee breaks at 10am and 3pm in the cafeteria.
  • There are helpers around on Thursday (ProjectQ, Cirq, Q#, Strangeworks, Silq). On Friday they’re available via Slack.
  • Presentation format: up to you. E.g. Jupyter notebook works well, or just run the demo as you can.
  • Cheatsheet for most languages.

Project ideas

  • Implement a work-extraction engine
  • Nested computing/uncomputing
  • Error correction: Implement the extended stabiliser formalism of this paper.
  • Add a circuit drawer backend (e.g. with matplotlib) to a language that doesn’t have it.
  • Quantum chemistry: implement a random compiler for fast Hamiltonian simulation (talk to Riley)
  • Implement a solution to Renato’s communication game.
    N players, who can communicate only two classical bits on a chain: A_1 -> A_2 -> A_3 … ->A_N -> Referee
    Each player A_i receives as input a real number alpha_i. Promise: the sum of all {alpha_i} is a natural number K.
    Last player A_N should tell the referee whether K is even or odd.
    Players are allowed to share a strategy (in particular, to share a large entangled state) before the game starts (i.e. before they know the alphas).