This document discusses quantum error correction. It begins by explaining the need for quantum error correction due to noise and imperfections in real-world quantum systems. It then discusses barriers to quantum error correction like the no-cloning theorem. Different types of quantum errors like bit flips, phase flips, and more complex errors are described. Classical error correction techniques are compared. Finally, specific quantum error correcting codes like the repetition code, phase flip code, and Shor's code are explained as ways to protect quantum information against noise by encoding quantum states.