Quantum Information and Quantum Computation