quantum error correction lecture notes