1. Introduction and Outline
2. Basics of Quantum Mechanics for Quantum Computing
3. Quantum Finite Automata
4. Quantum Bits, Gates, and Circuits
5. Programming Quantum Bits
6. Quantum Teleportation, Superdense Coding, and Random Access Coding
7. Quantum Algorithms: Deutsch-Jozsa and Bernstein-Vazirani
8. Quantum Algorithms: Grover Search and Applications
9. Quantum Algorithms: Simon and Shor
10. Programming Quantum Algorithms
11. Quantum Query and Communication Complexity
12. Noisy Intermediate-Scale Quantum Devices
13. Quantum Error Correction and Error Mitigation
14. Quantum Machine Learning and Optimization
15. Programming Noisy Intermediate-Scale Quantum Devices