Teaching
Graduate and Upperlevel 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.

Fall 2020: Teaching evaluations

Spring 2020: Teaching evaluations

Fall 2016 (Math 2339 at the time): Web page, Teaching evaluations

Fall 2010 (Math 2339 at the time): Web page, Teaching evaluations

Fall 2008 (Math 2339 at the time): Web page, Teaching evaluations
Introduction to Linear Algebra
Matrices and linear equations, Gaussian elimination, determinants, rank, geometrical notions, eigenvalue problems, and coordinate transformations, norms, inner products, orthogonal projections, GramSchmidt and least squares.

Fall 2021: Teaching evaluations

Spring 2020: Teaching evaluations

Spring 2019: Web page, Teaching evaluations

Fall 2018: Web page, Teaching evaluations

Spring 2017 (Math 3353 at the time): Web page, Teaching evaluations

Spring 2016 (Math 3353 at the time): Web page, Teaching evaluations

Spring 2015 (Math 3353 at the time): Web page, Teaching evaluations

Spring 2014 (Math 3353 at the time): Web page, Teaching evaluations

Spring 2011 (Math 3353 at the time): Web page, Teaching evaluations
Introduction to Scientific Computing
An elementary survey course that includes techniques for rootfinding, 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.

Spring 2018: Web page, Teaching evaluations

Fall 2017: Web page, Teaching evaluations

Spring 2013: Web page, Teaching evaluations

Fall 2012: Web page, Teaching evaluations

Fall 2011: Web page, Teaching evaluations

Spring 2010: Web page, Teaching evaluations

Fall 2009: Web page, Teaching evaluations
Introduction to HighPerformance Scientific Computing
An elementary survey course that includes techniques for rootfinding, interpolation, functional approximation, linear equations, and numerical integration. Computational work focuses on the Python and C++ programming languages using Linux.

Fall 2015: Web page, Teaching evaluations

Fall 2014: Web page, Teaching evaluations

Fall 2013: Web page, Teaching evaluations
Advanced Scientific Computing
Advanced algorithms central to scientific and engineering computing. Topics include solution of linear systems of equations, functional approximation, initialvalue problems, and boundaryvalue problems. Special attention is given to algorithm derivation and implementation.

Spring 2021: Teaching evaluations
Parallel Scientific Computing
An introduction to parallel computing in the context of scientific computation.

Fall 2022: Teaching evaluations

Spring 2017: Web page, Teaching evaluations
Introduction to Numerical Analysis
Numerical solution of linear and nonlinear equations, interpolation and approximation of functions, numerical integration, floatingpoint arithmetic, and the numerical solution of initial value problems in ordinary differential equations. Student use of the computer is emphasized.

Fall 2018: Web page, Teaching evaluations

Fall 2017: Web page, Teaching evaluations

Fall 2015: Web page, Teaching evaluations

Fall 2013: Web page, Teaching evaluations
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.

Spring 2019: Web page, Teaching evaluation
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.

Spring 2014: Web page, Teaching evaluations
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 onedimensional initialboundary value problems. Topics focus on algorithm development and the theory underlying each method.

Spring 2018 (Math 6316 at the time): Web page, Teaching evaluations

Spring 2016 (Math 6316 at the time): Web page, Teaching evaluations
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++.

Fall 2023: Teaching evaluations

Fall 2020: Teaching evaluations

Fall 2016: Web page, Teaching evaluations

Fall 2014: Web page, Teaching evaluations

Fall 2012: Web page, Teaching evaluations

Fall 2010: Web page, Teaching evaluations
Parallel Scientific Computing
An introduction to parallel computing in the context of scientific computation.

Fall 2022: Teaching evaluations

Spring 2017: Web page, Teaching evaluations

Spring 2015: Web page, Teaching evaluations

Spring 2013: Web page, Teaching evaluations

Spring 2011: Web page, Teaching evaluations

Spring 2009 (Math 6395 at the time): Web page, Teaching evaluations
Inaugural SMU HPC workshops, sponsored by the SMU Center for Scientific Computation. These focused on general highperformance computing computing, with specific instruction on using the new SMU ManeFrame cluster.

June 2013 (SMUHPC 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