  This is a note from a series of lectures at Encuentro Colombiano de
Computacion Cuantica, Universidad de los Andes, Bogota, Colombia, 2015. The
purpose is to introduce additive quantum error correcting codes, with emphasis
on the use of binary representation of Pauli matrices and modules over a
translation group algebra. The topics include symplectic vector spaces,
Clifford group, cleaning lemma, an error correcting criterion, entanglement
spectrum, implications of the locality of stabilizer group generators, and the
classification of translation-invariant one-dimensional additive codes and
two-dimensional CSS codes with large code distances. In particular, we describe
an algorithm to find a Clifford quantum circuit (CNOTs) to transform any
two-dimensional translation-invariant CSS code on qudits of a prime dimension
with code distance being the linear system size, into a tensor product of
finitely many copies of the qudit toric code and a product state. Thus, the
number of embedded toric codes is the complete invariant of these CSS codes
under local Clifford circuits.
