Quantum Computing: Lecture Notes