  The problem of recovering coefficients in a diffusion equation is one of the
basic inverse problems. Perhaps the most important term is the one that couples
the length and time scales and is often referred to as {\it the\/} diffusion
coefficient $a$ in $u_t - \nabla(a\nabla u) = f$. In this paper we seek the
unknown $a$ assuming that $a=a(u)$ depends only on the value of the solution at
a given point. Such diffusion models are the basic of a wide range of physical
phenomena such as nonlinear heat conduction, chemical mixing and population
dynamics. We shall look at two types of overposed data in order to effect
recovery of $a(u)$: the value of a time trace $u(x_0,t)$ for some fixed point
$x_0$ on the boundary of the region $\Omega$; or the value of $u$ on an
interior curve $\Sigma$ lying within $\Omega$. As examples, these might
represent a temperature measurement on the boundary or a census of the
population in some subset of $\Omega$ taken at a fixed time $T>0$. In the
latter case we shall show a uniqueness result that leads to a constructive
method for recovery of $a$. Indeed, for both types of measured data we shall
show reconstructions based on the iterative algorithms developed in the paper.
