A scalable quantum computer will require quantum operations with vanishingly small error. Fault-tolerant quantum computation is a method to reach arbitrarily small error rates and is based on quantum error correction. In this talk, I will introduce the basics of quantum error correction and compare it with classical error correction. I will relate classical and quantum error correction models to different spin Hamiltonians. Finally, I will discuss the prospects of performing quantum error correction in trapped ions and present experimental results on quantum error detection codes with trapped ions.