Quantum information requires protection from the adverse affects of decoherence and noise. This review provides an introduction to the theory of decoherence-free subspaces, noiseless subsystems, and dynamical decoupling. It addresses quantum information preservation as well protected computation.