Quantum Computing: An Introduction