This course provides an overview of quantum computation and quantum information theory. The topics include: an introduction to quantum mechanics; quantum channels, both ideal and noisy; quantum cryptography; an introduction to computational complexity; Shor's factorization algorithm; Grover's search algorithm; proposals for the physical realization of quantum devices, such as ions in traps, solid-state devices, and nuclear magnetic resonance. Linear algebra at the level of 21-241 or 21-341, or as taken up in 33-345, is a prerequisite; in addition, students who are not familiar with vector spaces over complex numbers, including unitary and Hermitian operators, will need to learn these topics on their own. Quantum mechanics is not a prerequisite, but some prior knowledge at the level of 33-234 or 33-445 will prove helpful. Algorithms and complexity theory are not prerequisites, but some prior knowledge at the level of 15-211, 15-251 or 15-451 will prove helpful. This course is also offered for 12 units as 33-758, which involves some additional work.