An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation | Synapse