This book covers elementary aspects of category theory and topos theory. It has few mathematical prerequisites and uses categorical methods throughout rather than beginning with set theoretic foundations. It works with key notions such as cartesian closedness, adjunctions, regularcategories, and the internal logic of a topos. Full statements and elementary proofs are given for the central theorems, including the fundamental theorem of toposes, the sheafification theorem, and the constriction of Grothendieck toposes over any topos as base. Three chapters discussapplications of toposes in detail, namely to sets, to basic differential geometry, and to recursive analysis.