This course discusses the basics of quantum information; quantum phenomena; quantum circuits and universality; basics of computational complexity; relationship between quantum and classical complexity classes; simple quantum algorithms such as quantum Fourier transform; Shor factoring algorithm; Grover search algorithm; physical realization of quantum computation; error correction and fault tolerance.