In a ground breaking discovery in 1994, Shor has shown that quantum computers, if built, can factor numbers efficiently. Since then quantum computing has become a burgeoning field of research, attracting theoreticians and experimentalists alike, and regrouping researchers from fields like computer science, physics, mathematics and engineering. Quantum information is very fragile and prone to decoherence. Yet by the middle of 1996 it has been shown that fault-tolerant quantum computation is possible. We give a simple description of the elements of quantum error-correction and quantum fault-tolerance. After characterizing quantum errors we present several error correction schemes and outline the elements of a full fledged fault-tolerant computation, which works error-free even though all of its components can be faulty. We also mention alternative approaches to error-correction, so called error-avoiding or decoherence-free schemes.