Quantum Computing Lecture Notes