Université de Versailles Saint-Quentin en Yvelines (Licence 3 Info). Chargé de TD en 2019-2020.
Cryptographie symétrique : systèmes historiques (César, Vigenère, etc…), One-Time-Pad et chiffrements à flot, chiffrements par blocs et modes d'opération.
Cryptographie asymétrique : RSA, Diffie-Hellman, El-Gamal, signatures
Présentation de OpenSSL
Université de Versailles Saint-Quentin en Yvelines (Licence 2 Info et Bio-Info). Chargé de TD en 2019-2020.
Rappels de concepts mathématiques utiles en informatique : représentations des entiers, logique, preuves par induction, ensembles / fonctions / relations, arithmétique modulaire, algèbre linéaire,...
Page du cours: http://defeo.lu/in310/
École polytechnique (cycle ingénieur, 1ère année). Assistant TD en 2017-2018 et 2018-2019.
Ce cours présente les mécanismes avancés des langages de programmation, en particulier les traits orientés-objet de Java. Les fonctionnalités du langage sont présentées et utilisées dans des TDs de programmation. Leur fonctionnement est détaillé en montrant comment elles sont traduites, ou compilées, vers une machine abstraite. Cette approche permet également une ouverture vers l'architecture des ordinateurs.
École polytechnique (bachelor program, 1ère année). Teaching assistant in 2018-2019.
This course is an introduction to algorithmic problem solving. We will answer the following questions:
What is a problem specification, an algorithm, a computation?
How does one develop an algorithm?
How can one measure the efficiency of an algorithm and the complexity of a problem?
How can one rigorously argue that an algorithm computes correct solutions to a given problem?