teaching

A brief description of some of the courses I teach.

  • Digital Medicine. A grad-level course that covers the whole process of acquisition and cleaning of human biometric data, modelling of the relevant physiology and extraction and validation of biomarkers. All of these aspects are discussed in the context of a group project on CGM data. In addition, we discuss the REB/IRB process and research ethics as well as the development and commercialization of IP.
  • Computational Science I. Aimed at second-year computer science and math students, this course treats a number of elementary algorithms for root finding, interpolation, differentiation, quadrature and optimization. We go in dome depth to investigate the stability, accuracy and efficiency both by means of analysis and by implementing and testing. All programming is done in Python (NumPy/Matplotlib/Pandas/…) and the students maintain their own repository for the assignments.
  • Computational Science II. Aimed at third-year math students (and, occasionally, physics and computer science students) this course treats more theory and is less focused on implementation and testing. We look at fixed point iteration, approximation by orthogonal polynomials and Fourier series, continuation methods and other somewhat more advanced methods.
  • Ordinary Differential Equations. Aimed at second-year math and physics students, this course runs the gamut from single, autonomous ODEs to systems of nonlinear ODEs. Solution methods as well as qualitative methods are introduced. I like to throw in a few handfuls of modelling to help the students’ intuition.
  • Partial Differential Equations. Aimed at fourth-year math students, this second course on PDEs goes into characteristics, shocks, entropy solutions, Green’s functions and generalized eigenproblems.
  • High Performance Computing. A grad-level course the treats as much as possible of basic scientific programming, using libraries, code optimization and debugging, MPI and OpenMP parallelism and offloading to GPU devices. Towards the end of the course, the students use the shared super computing facilities of Alliance Canada.