This book aims to provide a pedagogical introduction to the subjects of quantum information and quantum computation. Topics include non-locality of quantum mechanics, quantum computation, quantum cryptography, quantum error correction, fault-tolerant quantum computation as well as some experimental aspects of quantum computation and quantum cryptography. Only knowledge of basic quantum mechanics is assumed. Whenever more advanced concepts and techniques are used, they are introduced carefully. This book is meant to be a self-contained overview. While basic concepts are discussed in detail, unnecessary technical details are excluded. It is well-suited for a wide audience ranging from physics graduate students to advanced researchers.This book is based on a lecture series held at Hewlett-Packard Labs, Basic Research Institute in the Mathematical Sciences (BRIMS), Bristol from November 1996 to April 1997, and also includes other contributions.