Introduction to numerical methods and MATLAB: errors, condition numbers and roots of equations. Navier-Stokes. Direct and iterative methods for linear systems. Finite differences for elliptic, parabolic and hyperbolic equations. Fourier decomposition, error analysis and stability. High-order and compact finite-differences. Finite volume methods. Time marching methods. Navier-Stokes solvers. Grid generation. Finite volumes on complex geometries. Finite element methods. Spectral methods. Boundary element and panel methods. Turbulent flows. Boundary layers. Lagrangian Coherent Structures. Includes a final research project. Students taking graduate version complete additional assignments.