Quantum computation with topological codes : from qubit to topological fault tolerance 1. Introduction to quantum computation 2. Stabilizer formalism and its applications 3. Topological stabilizer codes 4. Topological quantum computation with surface codes 5. Topologically protected measurement based quantum computation