  Quantum error-correcting codes will be the ultimate enabler of a future
quantum computing or quantum communication device. This theory forms the
cornerstone of practical quantum information theory. We provide several
contributions to the theory of quantum error correction--mainly to the theory
of "entanglement-assisted" quantum error correction where the sender and
receiver share entanglement in the form of entangled bits (ebits) before
quantum communication begins. Our first contribution is an algorithm for
encoding and decoding an entanglement-assisted quantum block code. We then give
several formulas that determine the optimal number of ebits for an
entanglement-assisted code. The major contribution of this thesis is the
development of the theory of entanglement-assisted quantum convolutional
coding. A convolutional code is one that has memory and acts on an incoming
stream of qubits. We explicitly show how to encode and decode a stream of
information qubits with the help of ancilla qubits and ebits. Our
entanglement-assisted convolutional codes include those with a
Calderbank-Shor-Steane structure and those with a more general structure. We
then formulate convolutional protocols that correct errors in noisy
entanglement. Our final contribution is a unification of the theory of quantum
error correction--these unified convolutional codes exploit all of the known
resources for quantum redundancy.
