Sheaves arose in geometry as coefficients for cohomology and as descriptions of the functions appropriate to various kinds of manifolds. Sheaves also appear in logic as carriers for models of set theory. This text presents topos theory as it has developed from the study of sheaves. Beginning with several examples, it explains the underlying ideas of topology and sheaf theory as well as the general theory of elementary toposes and geometric morphisms...