Integral Calculus: antiderivatives, definite integrals, techniques of integration. Applications: areas, volumes and surfaces.
Parametric curves and polar coordinates. Introduction to infinite sequences and series, convergence tests, power series.
The course serves as an introduction to numerical methods for ordinary and partial differential equations. The course will cover Runge-Kutta methods for initial value problems, shooting methods for two-point boundary value problems, finite difference, finite volume and finite element methods for elliptic problems, method of lines for diffusion problems, and upwind methods for hyperbolic problems. In addition to the theoretical properties of the numerical methods, emphasis will be placed on their implementation in MATLAB/Octave.
- Linear Algebra, Autumn 2015, Autumn 2019
Introduction to linear equations, matrices, determinants, vector spaces and linear transformations, bases, inner products, orthogonality, eigenvalues and eigenvectors, diagonalization, least squares problems and other applications. The course emphasizes matrix and vector calculations and applications.
- Calculus, Spring 2015, Spring and Autumn 2016, Autumn 2017, Spring and Autumn 2018
Course Description: First course in differential and integral
calculus. Topics include: Review of pre-calculus, limits and continuity,
differentiation and its applications, indefinite and definite integrals,
applications of integration.
- Numerical Methods for Differential Equations, HKBU, Spring 2018
Course Description: The course serves as an introduction to numerical methods for ordinary and partial differential equations. The course will cover Runge-Kutta methods for initial value problems, shooting methods for two-point boundary value problems, finite difference, finite volume and finite element methods for elliptic problems, method of lines for diffusion problems, and upwind methods for hyperbolic problems. In addition to the theoretical properties of the numerical methods, emphasis will be placed on their implementation in MATLAB/Octave.
- Estimating the World, HKBU, Autumn 2014
Course Description: First-year numeracy course, with focus on
the understanding and use of estimation in the context
of complex, real-life applications. A few simple numerical
techniques (root-finding, interpolation, least-squares fit and quadrature)
are introduced to help with the modelling, and MATLAB is used to
compute approximations of the relevant quantities. The aim is to improve students' ability
to reason with quantitative information in daily life, so that
they are able to ask pertinent questions and produce educated guesses
through sensible assumptions and appropriate methodologies.
- Algèbre I, Université de Genève, Autumn 2013
Course Description: First-year course on linear algebra.
Contents include abstract vector spaces, linear maps,
eigenvalues and eigenvectors, inner product spaces, spectral theorem.
- Analyse Numérique des Équations aux Dérivées
Partielles, Université de Genève, Autumn 2012
Course Description: Derivation of some PDEs of mathematical
physics. Finite difference and finite volume methods. Spectral methods.
Finite element methods: derivation and analysis. Time-dependent problems,
- Analyse Numérique, Université de Genève, 2010–11,
2011–12 and 2012–13 (full year)
Course Description: Introduction to Scientific Computing and
analysis of numerical algorithms. Topics include numerical integration,
interpolation and approximation, numerical solution of ODEs, numerical
linear algebra and least squares, eigenvalue problems, solution of nonlinear
systems of equations.
- Mathématiques pour Informaticiens, Université de Genève, Winter 2010
Course Description: This is a first-year service
course for computer science students. It covers topics in calculus and
linear algebra usually seen in the second semester, such as differential
and integral calculus in several variables, bilinear and quadratic forms,
optimization and Fourier series. This course lays the theoretical foundations
for the second-year numerical analysis course, which is mandatory for
computer science students.
- Introductory Domain Decomposition Short Course (with L. Halpern and M.J. Gander), 25th International Conference on Domain Decomposition Methods, St. John's, Newfoundland and Laborador, Canada, July 22, 2018
Course Description: A one-day introductory course on
basic domain decomposition methods, consisting of three one-hour
lectures on theoretical aspects in the morning and a three-hour
practial session in the afternoon. The morning sessions consist of
lectures on Schwarz methods, Dirichlet-Neumann and Neumann-Neumann
methods, and on modern coarse spaces. During the aftenroon session,
participants experiment with the above methods using sample Matlab codes.
- Dirichlet-Neumann and Neumann-Neumann methods, Summer School on Domain Decomposition Methods à Nice 2018, Université Côte d'Azur, France, June 19-21, 2018
Course Description: A 1.5-hour lecture and a 2-hour
practical session (with G. Ciaramella) during a three-day short
course on domain decomposition methods. In the lecture portion, we
introduce the Dirichlet-Neumann (DN) and Neumann-Neumann (NN)
methods, which are naturally formulated on non-overlapping domain
decompositions. We discuss their convergence behaviour on two
subdomains, first in 1D, then in 2D using Fourier techniques seen in
Lecture 1. The influence of geometry and relaxation parameters will
be discussed, and we explain how these methods can be extended to
yield FETI and BDDC methods, which are very powerful methods that
can be used for problems with complicated geometries.
- Numerical Methods for Spectral Theory, 2016 CRM Summer School on Spectral Theory and Applications,
Université Laval, Quebec, Canada, July 4–14, 2016
Course Description: A 5-hour mini-course on numerical methods for spectral theory: finite difference and finite element methods for PDE eigenvalue problems, algorithms
for matrix eigenvalue problems, applications to vibrating plates. Lecture notes and sample codes are available.
Courses for which I was a TA
- Analyse Numérique, Université de Genève, Autumn 2009
Instructor: Dr. Sébastien Loisel
- Analyse Numérique, Université de Genève, 2008–09 (full year)
Instructor: Prof. Martin Gander
- Analyse Numérique, Université de Genève, Winter 2008
Instructor: Prof. Martin Gander
- Introduction to Scientific Computing, Stanford University, Winter 2004
Instructor: Prof. Gene Golub
- Numerical Linear Algebra, Stanford University, Autumn 2003
Instructor: Prof. Gene Golub
- Data Structures and Algorithms, McGill University, Autumn 2000 & 2001
Instructor: Prof. Godfried Toussaint