  A major obstacle towards realizing a practical quantum computer is the noise
that arises due to system-environment interactions. While it is very well known
that quantum error correction (QEC) provides a way to protect against errors
that arise due to the noise affecting the system, a perfect quantum code
requires atleast five physical qubits to observe a noticeable improvement over
the no-QEC scenario. However, in cases where the noise structure in the system
is already known, it might be more useful to consider quantum codes that are
adapted to specific noise models. It is already known in the literature that
such codes are resource efficient and perform on par with the standard codes.
In this spirit, we address the following questions concerning such adaptive
quantum codes in this thesis. (a) Construction: Given a noise model, we propose
a simple and fast numerical optimization algorithm to search for good quantum
codes. (b) Application: As a simple application of noise-adapted codes, we
propose an adaptive QEC protocol that allows transmission of quantum
information from one site to the other over a 1-d spin chain with high
fidelity. (c) Fault-tolerance: Finally, we address the question of whether such
noise-adapted QEC protocols can be made fault-tolerant starting with a [[4,1]]
code and obtain a rigorous lower bound on threshold.
