Sheaves arose in geometry as coefficients for cohomology & as descriptions of the functions appropriate to various kinds of manifolds. Sheaves also appear in logic as carriers for models of set theory as well as for the semantics of other types of logic. This book presents topos theory as it has developed from the study of sheaves.