top of page

Teaching

Graduate and Upper-level Undergraduate Courses in Computational Mathematics

Current courses (Spring 2024)

  • none

Calculus 3 / Multivariable Calculus

A continuation of Calculus 2.  Topics include parametric equations, polar coordinates, partial differentiation, multiple integrals, and vector analysis.

Introduction to Linear Algebra

Matrices and linear equations, Gaussian elimination, determinants, rank, geometrical notions, eigenvalue problems, and coordinate transformations, norms, inner products, orthogonal projections, Gram-Schmidt and least squares.

Introduction to Scientific Computing

An elementary survey course that includes techniques for root-finding, interpolation, functional approximation, numerical differentiation and numerical integration. Special attention is given to MATLAB programming, algorithm implementations, and library codes. Students registering for this course must also register for an associated computer laboratory.

Introduction to High-Performance Scientific Computing

An elementary survey course that includes techniques for root-finding, interpolation, functional approximation, linear equations, and numerical integration. Computational work focuses on the Python and C++ programming languages using Linux.

Advanced Scientific Computing

Advanced algorithms central to scientific and engineering computing. Topics include solution of linear systems of equations, functional approximation, initial-value problems, and boundary-value problems. Special attention is given to algorithm derivation and implementation.

Parallel Scientific Computing

An introduction to parallel computing in the context of scientific computation.

Introduction to Numerical Analysis

Numerical solution of linear and nonlinear equations, interpolation and approximation of functions, numerical integration, floating-point arithmetic, and the numerical solution of initial value problems in ordinary differential equations. Student use of the computer is emphasized.

Math 5316

Introduction to Matrix Computation

The efficient solution of dense and sparse linear systems, least squares problems, and eigenvalue problems. Elementary and orthogonal matrix transformations provide a unified treatment. Programming is in MATLAB, with a focus on algorithms.

Numerical Methods I

The efficient solution of dense and sparse linear systems, least squares problems and eigenvalue problems. Elementary and orthogonal matrix transformations provide a unified treatment. In addition to algorithm development, the course emphasizes the theory underlying the methods.

Numerical Methods II

Covers interpolation and approximation of functions, numerical differentiation and integration, basic methods for initial value problems in ordinary differential equations, and basic approximation methods for one-dimensional initial-boundary value problems. Topics focus on algorithm development and the theory underlying each method.

Numerical Solution of Ordinary Differential Equations

Numerical methods for initial value problems and boundary value problems for ordinary differential equations. Emphasizes practical solution of problems using Matlab, Python and/or C++.

Parallel Scientific Computing

An introduction to parallel computing in the context of scientific computation.

Inaugural SMU HPC workshops, sponsored by the SMU Center for Scientific Computation. These focused on general high-performance computing computing, with specific instruction on using the new SMU ManeFrame cluster.

Math 174 (UC San Diego)

Numerical Methods in Science and Engineering

  • Fall 2006

Math 20D (UC San Diego)

Introduction to Differential Equations

  • Winter 2006

CAAM 336 (Rice, Teaching Assistant)

Differential Equations in Science and Engineering 

CAAM 335 (Rice, Teaching Assistant)

Matrix Analysis

Unofficial online teaching evaluations (RateMyProfessors.com)

bottom of page