Courses in Scientific Computing


Introduction to Computational Science

  1. Compiled language programming in the Unix environment - (e.g. C, C++, F90).
  2. Direct and iterative linear solvers with an introduction to relevant software (LAPACK).
  3. Nonlinear solvers (Newton's method and variants, optimization).
  4. Quadrature and differential equations with an introduction to relevant software.
  5. Monte Carlo methods.

Introduction to Parallel Scientific Computing

  1. Shared- and distributed-memory parallel programming and performance evaluation (e.g. OpenMP, MPI).
  2. Parallel solver libraries (e.g. PETSc, ScaLAPACK, TriLinos, FFTW).
  3. Applications to solving partial differential equations and/or large scale optimization and data analysis problems.