Quantum computing lecture notes