My graduate research paper for Quantum Computation, discussing quantum programming languages and implementing Shor's algorithm in Cirq.