Teaching¶
Graduate Courses in Mathematics¶
Topics in Applied Mathematics¶
Topic: Computational Inverse Problems and Uncertainty Quantification — From Calculus to Neural Networks
- 5000-level course
- Spring 2023, Spring 2026
- Numerical methods for inverse problems governed by physical models, where the models are systems of partial and ordinary differential equations
- Deterministic and Bayesian inverse problems
- Ill-posedness, regularization, and variational methods
- Large-scale computational solution algorithms
- Solution of inverse problems with neural networks
Undergraduate Courses in Data Science¶
Scalable Computing for CMDA¶
- 4000-level course
- Fall 2025
- Interfaces that make human–computer interaction efficient and systematic; including terminal, editors, version control, and AI coding agents
- The Go language and parallel programming with shared memory and with communication
- The C language with MPI for distributed memory computing, and the PETSc library
- GPUs with NVIDIA CUDA for massive concurrency
Computational Science Foundations for CMDA¶
- 3000-level course
- Fall 2022, Fall 2023, Spring 2026
- Interfaces is about the tools that make human-computer interaction efficient and systematic, including effective uses of terminals, editors, version control, AI tools, and more.
- The Go language has build-in concurrency to challenges our abilities on parallel thinking. It guides us toward understanding concurrency, interdependence of actions, shared memory across workers, distributed memory and communication between workers.
- Neural networks with PyTorch allow tapping into massive parallelism. By building on our lower-level skills, we understand – and appreciate – how neural networks are trained even when Python interfaces hide much of the complexity. We will be able to train in parallel using distributed data parallelism.
Mathematical Modeling: Methods & Tools¶
- 3000-level course
- Spring 2025
- Concepts and techniques from numerical linear algebra, including iterative methods for solving linear systems and least squares problems, and numerical approaches for solving eigenvalue problems
- III-posed inverse problems such as parameter estimation, and numerical methods for computing solutions to inverse problems
- Numerical optimization with emphasis on large-scale problems
Guest Lecture about Git Version Control, in: "Discovering CMDA"¶
- 1000-level course
- Fall of 2022, 2023, 2024
- Tutorial about version control with Git for increasing programming productivity