In these notes we look at the related techniques of recursion and induction. You will have seen already some of the simpler kinds of induction (over N) and you may have met some forms of recursion (such as primitive recursion) but you may not be aware of this name. Here we will go beyond these rather simple particular cases, and look at some more intricate aspects. Roughly speaking (at least for what we do here) recursion is a way of specifying a function by saying how each of its values is related to ‘earlier’ values. You may not be familiar with the word ‘specifying’ for it is often incorrectly replaced by ‘defining’. The meaning and the difference between these two notions will be explained later. The related technique of induction is more familiar. This is a method of proof used to verify certain facts about the functions produced by a specification. In general, for each form of recursion (which produces functions) there is an associated form of induction (which verifies properties of the functions). In short, recursion is a way of producing functions, whereas induction is a way of proving properties (of functions). The aim of these notes is to make these notions clearer in a context more general than you have seen before. We will only begin to scratch the surface of the subject, and we will not go to its extremes. Nevertheless we will see some quite wild examples of the technique. One of the long term aims of this part of mathematics is to explain why this function is more complicated than that function, and develop methods of measuring the difference. In turns out that recursion, in various forms, has a lot to say about this. In these notes we concentrate at recursion and induction over N, the natural numbers. However, you should be aware that the techniques are applicable in many other situation. For instance the natural numbers can be replaced by lists over any alphabet. In fact, the techniques can be used on any free algebra and, in particular, on syntactic constructions. We will some small instances of this in section 3, and much more in the notes on λ-calculi. The ordinals are another domain where the techniques are useful. However, with these there is an extra twist that is needed. You should learn something about this sometime.