**University ParisSaclay**- Master MVA (Cachan). Random Matrix Theory and Applications to Machine Learning (
*since 2014*)- 36 hours, Master level
- Course notes (in French)
- Slides (in English)

- Master MVA (Cachan). Random Matrix Theory and Applications to Machine Learning (
**Grenoble-INP**- ENSIMAG. Introductory Courses to Supervised Learning (
*since 2020*)- 18 hours, undergraduate level
- Course notes (in French)

- ENSIMAG. Algorithms and Data Structures (
*since 2020*)- Exercises (TDs, 12 * 1.5h), undergraduate level
- TD1 Jupyter Notebook [ipynb|html]
- TD2 Jupyter Notebook [ipynb|html]
- TD3 Jupyter Notebook [ipynb|html]
- TD4 Jupyter Notebook [ipynb|html]
- TD5 Jupyter Notebook [ipynb|html]
- TD6 Jupyter Notebook [ipynb|html]
- TD7 Jupyter Notebook [ipynb|html]
- TD8 Jupyter Notebook [ipynb|html]
- TD9 Jupyter Notebook [ipynb|html]
- TD10 Jupyter Notebook [ipynb|html]
- TD11 Jupyter Notebook [ipynb|html]

- PHELMA (master SIGMA). Introductory Course on Optimization (
*since 2018*)- 18 hours, master level
- Course notes, Slides

- PHELMA (master SIGMA). Scientific Writing for Engineering and Master Students (
*since 2019*)- 9 hours, master level
- Slides

- ENSIMAG. Introductory Courses to Supervised Learning (
**University Grenoble-Alpes**- UFR IM2AG (L1 MINint). Functional Programming with OCaml (
*since 2020*)- 69 hours, undergraduate level
- Course 0 - General Information
- Course 1 - Introduction, simple expressions and simple types (notebook|html|ml)
- Course 2 - Identifiers and functions (notebook|html|ml)
- Course 3 - Advanced types (notebook|html|ml)
- Course 4 - Recursion (notebook|html|ml)
- Course 5 - Lists (notebook|html|ml)
- Course 6 - Polymorphism and higher order (notebook|html|ml)
- Course 7 - Tree structures (notebook|html|ml)

- MoSIG Master. Fairness in Machine Learning (
*since 2020*)- 3 hours, Master level
- Slides

- ED EEATS. Scientific Communication for PhD Students (
*since 2012*)- 18 hours, PhD level
- Slides

- UFR IM2AG (L1 MINint). Functional Programming with OCaml (

- Crash Course on Random Matrix Theory for Wireless Communications and Signal Processing (
*2011-2012*)- 16 hours, PhD level
- Course 1: Basic notions of random matrix theory
- Course 2: Wireless communications
- Course 3: Advanced notions of random matrix theory
- Course 4: Signal processing

- Random Matrix Theory for Wireless Communications (
*2009-2010*)- 18 hours, PhD level
- Course 1: Introduction to random matrix theory and the Stieltjes transform
- Course 2: System performance analysis, capacity and rate regions
- Course 3: Beyond the spectrum, signal detection and spiked models
- Course 4: Inverse problems and random matrices, parameter estimation

- Introduction to Digital Communications (
*2009-2010*)- 24 hours, Master Level
- Course
- Exercises and solutions
- Practical lecture and solution
- Final exam