Software
Meshing:

DistMesh  A Simple Mesh Generator in MATLAB
Educational MATLAB codes:

Tridiagonal Eigenvalues in MATLAB 
Interface to LAPACK routines for computing eigenvalues of tridiagonal matrices and singular values of bidiagonal matrices

Level Set Demo  Simple
MATLAB scripts for illustration of explicit/implicit interface
tracking, reinitialization, and the fast marching method
(undocumented, but see presentations
for slides and notes).

fempoisson.m 
Solves the Poisson equation on an unstructured grid (square in this
example but easy to change) using linear finite elements. Good start
to learn about implementation of FEM.

poiunit.m 
Fourier solution of Poisson's equation on the unit line, square,
or cube. Good for verification of Poisson solvers, but slow if many
Fourier terms are used (high accuracy).

laplacefft.m 
Solve the Laplace equation on a rectangular domain using the FFT.
Supports Dirichlet or Dirichlet/Neumann conditions. Contains
the following short functions for discrete Sine and Cosine transforms:
 dst.m  Discrete Sine Transform DSTI
 idst.m  Inverse Discrete Sine Transform IDSTI
 dct.m  Discrete Cosine Transform DCTI
 idct.m  Inverse Discrete Cosine Transform DCTI

Implementation of Finite ElementBased NavierStokes Solver
