Before examining the intrinsic nature of computation we must have a precise
idea of what computation means. In other words, we need to know what we’re
talking about! To do this, we shall begin with intuitive notions of terms such as
calculation, computing procedure, and algorithm. Then we shall be able to
develop a precise, formal characterization of computation which captures all of
the modern aspects and concepts of this important activity.
Part of this definitional process shall involve developing models of
computation. They will be presented with emphasis upon their finite nature
and their computational techiques, that is, their methods of transforming
inputs into outputs. In closing, we shall compare our various models and
discuss their relative power.