Since my PhD I teach in various fields of physics, mathematics and computer science to future engineers or mathematicians. Here is a non-closed list of examples:
- Mathematics: numerical analysis, mathematical analysis, linear algebra, probability, statistics, differential equations, Partial Differential Equations (PDE), harmonic analysis, optimization, functional analysis, optimal control, etc.
- Physics, engineering: solid mechanics, fluid mechanics, operational research, stochastic processes, finite element and finite volume methods, etc.
- Computer science: graph theory, programming (C, C++, FORTRAN, Matlab, Python), parallel programming, GPU programming, etc.
Here are some links (generally in French, but in English sometimes) with teaching material for students:
- Elemental numerical methods: http://www-irma.u-strasbg.fr/~helluy/ANUM/elem.html
- Systèmes Hyperboliques: http://www-irma.u-strasbg.fr/~helluy/PHYP/hyper.html
- Mécanique des fluides: http://www-irma.u-strasbg.fr/~helluy/fluent/index.html
- Projet EDP: http://www-irma.u-strasbg.fr/~helluy/edpp/projetedp.html
- Contrôle optimal: http://www-irma.u-strasbg.fr/~helluy/copt/copt.htm
- Calcul scientifique (L2): http://www-irma.u-strasbg.fr/~helluy/CSL2/csl2.html
- Calcul scientifique (M1): http://www-irma.u-strasbg.fr/~helluy/CS/cs.html
- Techniques d’Analyse Numérique: http://www-irma.u-strasbg.fr/~helluy/tan/tan.html
- Modèles fluides pour la fusion: http://www-irma.u-strasbg.fr/~helluy/mhd/index.html
- Transformée de Legendre: http://www-irma.u-strasbg.fr/~helluy/legendre/legendre.html
- Recherche opérationnelle: http://www-irma.u-strasbg.fr/~helluy/rechop/rechop.html
- Algorithmes pour les graphes: http://www-irma.u-strasbg.fr/~helluy/graph/graph.html
- OpenCL tutorial: http://www-irma.u-strasbg.fr/~helluy/OPENCL/tut-opencl.html
In this section I give two examples of teaching sessions at the master level.
In this session I propose to the students to compute a simplified model of sugar dissolution in the morning coffee. The sugar concentration u(x,t) depends on space variable x ∈ [0,L] and time t ∈ [0,T]. It is a solution of the diffusion equation with initial and boundary conditions
|(0,t) = (L,t)||= 0.|
The initial condition has the following shape
The plan of the lecture is then the following:
- Computation of the exact solution by function series (it is the historical way to invent Fourier series)
- Approximation by finite differences. Notions of order and stability. Explicit, implicit and Crank-Nicolson schemes.
- LU decomposition of a tridiagonal linear system.
- Programming the method in C or FORTRAN. Validations, tests, convergence study.
The lecture can be adapted to the knowledge of the students. For instance, for math students it is possible to go further on some points: convergence of the Fourier series, convergence study of the finite difference scheme, rigorous proof of stability. For physics students I would reintroduce the physical constants in the model...
In practice I have observed that the students have problems with the programming part. They need time to program in a correct way, without bugs and with adequate validations the Fourier series method, the LU solver and the finite difference method. It is possible to go faster by programming the method into Matlab (or Matlab clone like Octave or Scilab). However it is less interesting on the pedagogical side, because programming in C or FORTRAN generally leads to a better understanding of how computers work.
Other examples of teaching sessions (in French) can be found here:
In the second year of master I generally give lectures on optimal control. For instance, one session is devoted to answering the following question: how to place the heaters in a room in order to obtain the most uniform temperature ?
The problem can be modeled in the following way: the room is noted Ω. The way to heat the room is the control u. In the room, the temperature Tu(x) is a solution of the stationary heat equation
On a part of the room boundary Γd there is a (badly insulated) window where we apply Dirichlet condition
On the rest of the boundary Γn we apply the control (a heat flux)
We want the temperature to be close to a constant desired temperature
(for instance Θ = 20°C). We thus consider the cost function
The parameter ϵ > 0 is a small parameter that will ensure the uniqueness of the control u. In practice it can also be used to adjust the level of energy saving (if ϵ is large, the solution is u ≃ 0, which corresponds to no heating at all).
I explain then to the students how to compute the gradient of the cost function J with the aid of the adjoint state theory. Then the students program a gradient or a conjugate gradient method to solve the optimal control problem. The computations are made in the Freefem++ software (http://www.freefem.org). This software allows to implement in a very easy way various finite element variational methods.
Other optimal control studies (in French) are proposed here: http://www-irma.u-strasbg.fr/~helluy/copt/copt.htm