Quantum mechanical applications range from quantum computers to quantum key distribution to teleportation. In these applications, quantum error correction is extremely important for protecting quantum states against decoherence. Here I present two main results regarding quantum error correction protocols. The first main topic I address is the development of continuous-time quantum error correction protocols via combination with techniques from quantum control. These protocols rely on weak measurement and Hamiltonian feedback instead of the projective measurements and unitary gates usually assumed by canonical quantum error correction. I show that a subclass of these protocols can be understood as a quantum feedback protocol, and analytically analyze the general case using the stabilizer formalism; I show that in this case perfect feedback can perfectly protect a stabilizer subspace. I also show through numerical simulations that another subclass of these protocols does better than canonical quantum error correction when the time between corrections is limited. The second main topic is development of improved overhead results for fault-tolerant computation. In particular, through analysis of topological quantum error correcting codes, it will be shown that the required blowup in depth of a noisy circuit performing a fault-tolerant computation can be reduced to a factor of O(log log L), an improvement over previous results. Showing this requires investigation into a local method of performing fault-tolerant correction on a topological code of arbitrary dimension.