Programming quantum computers using 3-D puzzles, coffee cups, and   doughnuts
  The task of programming a quantum computer is just as strange as quantum mechanics itself. But it now looks like a simple 3D puzzle may be the future tool of quantum software engineers. 
Simon J. Devitt
quant-ph