Introduction to the theory of quantum error correction and fault tolerance, especially in the context of how these techniques enable quantum technologies with noisy devices. There will be an emphasis of both fundamentals of designing error correction codes and protocols, as well as their applications to quantum computation. The following concepts and methods will be taught in this course: 
1. Description of noisy systems and dynamics. 
2. Fundamental of error correction - detectability and correctability of errors. 
3. Strategies to design error correcting codes. 
4. Fault tolerance in quantum computation. 

Course material available at https://sites.google.com/view/rahul-trivedi/nat3045-quantum-error-correction