  Let $\{T_1, \ldots, T_n\}$ be a set of $n$ commuting bounded linear operators
on a Hilbert space $\mathcal{H}$. Then the $n$-tuple $(T_1, \ldots, T_n)$ turns
$\mathcal{H}$ into a module over $\mathbb{C}[z_1, \ldots, z_n]$ in the
following sense: \[\mathbb{C}[z_1, \ldots, z_n] \times \mathcal{H} \raro \clh,
\quad \quad (p, h) \mapsto p(T_1, \ldots, T_n)h,\]where $p \in \mathbb{C}[z_1,
\ldots, z_n]$ and $h \in \mathcal{H}$. The above module is usually called the
Hilbert module over $\mathbb{C}[z_1, \ldots, z_n]$. Hilbert modules over
$\mathbb{C}[z_1, \ldots, z_n]$ (or natural function algebras) were first
introduced by R. G. Douglas and C. Foias in 1976. The two main driving forces
were the algebraic and complex geometric views to multivariable operator
theory.
  This article gives an introduction of Hilbert modules over function algebras
and surveys some recent developments. Here the theory of Hilbert modules is
presented as combination of commutative algebra, complex geometry and the
geometry of Hilbert spaces and its applications to the theory of $n$-tuples ($n
\geq 1$) of commuting operators. The topics which are studied include: model
theory from Hilbert module point of view, Hilbert modules of holomorphic
functions, module tensor products, localizations, dilations, submodules and
quotient modules, free resolutions, curvature and Fredholm Hilbert modules.
More developments in the study of Hilbert module approach to operator theory
can be found in a companion paper, "Applications of Hilbert Module Approach to
Multivariable Operator Theory".
