  Quantum computation and communication are important branches of quantum
information science. However, noise in realistic quantum devices fundamentally
limits the utility of these quantum technologies. A conventional approach
towards large-scale and fault-tolerant quantum information processing is to use
multi-qubit quantum error correction (QEC), that is, to encode a logical
quantum bit (or a logical qubit) redundantly over many physical qubits such
that the redundancy can be used to detect errors. The required resource
overhead associated with the use of conventional multi-qubit QEC schemes,
however, is too high for these schemes to be realized at scale with currently
available quantum devices. Recently, bosonic (or continuous-variable) quantum
error correction has risen as a promising hardware-efficient alternative to
multi-qubit QEC schemes. In this thesis, I provide an overview of bosonic QEC
and present my contributions to the field. Specifically, I present the
benchmark and optimization results of various single-mode bosonic codes against
practically relevant excitation loss errors. I also demonstrate that
fault-tolerant bosonic QEC is possible by concatenating a single-mode bosonic
code with a multi-qubit error-correcting code. Moreover, I discuss the
fundamental aspects of bosonic QEC using the framework of quantum communication
theory. In particular, I present improved bounds on important
communication-theoretic quantities such as the quantum capacity of bosonic
Gaussian channels. Furthermore, I provide explicit bosonic error correction
schemes that nearly achieve the fundamental performance limit set by the
quantum capacity. I conclude the thesis with discussions on the importance of
non-Gaussian resources for continuous-variable quantum information processing.
