An elementary derivation of the Deutsch-Jozsa algorithm
  Quantum computing takes fully advantage of the superposition principle to increase greatly (even exponentially) the speed of calculations, relative to the classical approach. The Deutsch-Jozsa algorithm is the simplest quantum algorithm illustrating this power. Unfortunately, the standard derivation involves several ingenious steps which usually leave students feeling that they could never have figured out the algorithm by themselves. We present here a different formulation of the problem which allows students to derive the algorithm using only basic knowledge of quantum mechanics and linear algebra. 
Neda Amin and Patrick Labelle