  Quantum error correction (QEC) and fault-tolerant quantum computation
represent one of the most vital theoretical aspect of quantum information
processing. It was well known from the early developments of this exciting
field that the fragility of coherent quantum systems would be a catastrophic
obstacle to the development of large scale quantum computers. The introduction
of quantum error correction in 1995 showed that active techniques could be
employed to mitigate this fatal problem. However, quantum error correction and
fault-tolerant computation is now a much larger field and many new codes,
techniques, and methodologies have been developed to implement error correction
for large scale quantum algorithms. In response, we have attempted to summarize
the basic aspects of quantum error correction and fault-tolerance, not as a
detailed guide, but rather as a basic introduction. This development in this
area has been so pronounced that many in the field of quantum information,
specifically researchers who are new to quantum information or people focused
on the many other important issues in quantum computation, have found it
difficult to keep up with the general formalisms and methodologies employed in
this area. Rather than introducing these concepts from a rigorous mathematical
and computer science framework, we instead examine error correction and
fault-tolerance largely through detailed examples, which are more relevant to
experimentalists today and in the near future.
