Skip to content

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