Concepts in Quantum Computing