  This is the first in a series of papers on implementing a discontinuous
Galerkin method as a MATLAB / GNU Octave toolbox. The main goal is the
development of techniques that deliver optimized computational performance
combined with a compact, user-friendly interface. Our implementation relies on
fully vectorized matrix / vector operations and is carefully documented; in
addition, a direct mapping between discretization terms and code routines is
maintained throughout. The present work focuses on a two-dimensional
time-dependent diffusion equation with space / time-varying coefficients. The
spatial discretization is based on the local discontinuous Galerkin formulation
and is locally mass conservative. Approximations of orders zero through four
based on orthogonal polynomials have been implemented; more spaces of arbitrary
type and order can be easily accommodated by the code structure. Time
discretization is performed using an implicit Euler method.
