Synthetic Differential Geometry is a method of reasoning in differential geometry and differential calculus, based on the assumption of sufficiently many nilpotent elements on the number line, in particular numbers d such that d2=0. The use of nilpotent elements allows one to replace the limit processes of calculus by purely algebraic calculations and notions. For the first half of the book, first published in 2006, familiarity with differential calculus and abstract algebra is presupposed during the development of results in calculus and differential geometry on a purely axiomatic/synthetic basis. In the second half basic notions of category theory are presumed in the construction of suitable Cartesian closed categories and the interpretation of logical formulae within them. This is a second edition of Kock's classical text from 1981. Many notes have been included, with comments on developments in the field from the intermediate years, and almost 100 new bibliographic entries have been added.