Teaching

Teaching

Teaching

For the past three years, I have been in charge of weekly tutorials at UVSQ (Université Versailles Saint-Quentin-en-Yvelines, Versailles, France).

Teaching loads

Some complementary documents regarding the courses can be found here.

Course abstracts

Web applications and security

  • MIN17217Applications Web et Sécurité
  • Format – five 3-hour tutorials over 2 months, from February to May (15h)
  • Lecturer – Yann Rotella
  • Websitehttps://yannrotella.github.io/aws/
  • Description – Web programming course for first-year master students, with a specific attention to web security. After a few lectures, the students are split into groups of 4 and freely choose a project that should be delivered in about 2 months. During these two months, five sessions are organized to make sure that everything is in order thanks to a 1-page report and a small presentation.

Cryptography M1

  • MIN15122Cryptographie
  • Format – 3h/week during 12 weeks, from September to December (36h)
  • Lecturer – Louis Goubin
  • Complementary documentsdocuments
  • Description – This course is focused on cryptography, and especially on symmetric cryptography. After looking at basic combinatorics results and historical cryptosystems, two of the most famous symmetric ciphers are cryptanalyzed. First, we go through the DES and the reason to be of each of its internal components. This is an opportunity to understand the importance of non-linear operations and the power of the Feistel structure. Then, we do the same with the AES, and introduce some powerful attacks such as differential or integral attacks. We then look at generic attacks, in particular on 2-DES, but also leveraging time-memory trade-off based on the birthday paradox. We finally mention message authentication codes, but also the asymmetric RSA cipher and some fault injection attacks against it.

Mathematics for computer science

  • LSIN310Mathématiques pour l’informatique
  • Format – 3h/week during 12 weeks, from September to December (36h)
  • Lecturer – Christina Boura
  • Websitehttps://defeo.lu/in310/
  • Complementary documentsdocuments
  • Description – This is an introductory course to mathematics of license level. The course starts by focusing on the notions of function, order/equivalence relations, or inductive reasoning. Then modular arithmetic rules are studied, the ultimate goal being the understanding and usage of the Extended Euclidean Algorithm. Finally, the computational aspects of linear algebra are tackled: addition/multiplications of matrices, computation of determinants, and of course inversion.

Complementary course in discrete mathematics

  • MIN17101Complément de mathématiques discrètes
  • Format – Intensive course with five 3-hour tutorial over 2 weeks, in September (15h)
  • Lecturer – Franck Quessette & Yann Rotella
  • Websitehttps://yannrotella.github.io/cpt-maths/
  • Complementary documentsdocuments
  • Description – This is a refresher course common to multiple masters which occurs at the very beginning of the first year of master. The aim is to go through the main notions of discrete mathematics that are needed in multiple courses, and especially the cryptography course. The first half of the course is focused on algebra structures (groups, rings, fields) and on the usage of classical results such as the (extended) Euclidean division or the Chinese Remainder Theorem. The second half is dedicated to discrete probability. The main objective is to ensure that the students can conduct a simple line of reasoning with precision.

Complementary course in algorithmic

  • MIN17102Complément d’algorithmique et compléxité
  • Format – Intensive course with five 3-hour tutorial over 2 weeks, in September (15h)
  • Lecturer – Sandrine Vial
  • Description – This is a refresher course common to multiple masters which occurs at the very beginning of the first year of master. The aim is to go through the main notions of algorithmics, with a particular attention given to the computation of time complexity. The main search, insertion, and sorting algorithms are for instance surveyed. This is also the case of the basic data structures.

Cryptography L3

  • LSIN603Cryptographie
  • Format – 3h/week during 12 weeks, from February to May (36h)
  • Lecturer – Christina Boura
  • Websitehttps://christinaboura.wordpress.com/lsin603-cryptographie/
  • Description – This course is an introduction to cryptography. It starts from historical cryptosystems, and in particular with the cryptanalysis of Enigma. The first half is then dedicated to symmetric cryptography with the notions of stream ciphers (based on LFSRs), block ciphers (based on Feistel networks, such as DES), but also modes of operations. After recalling the necessary background in modular arithmetic, we focus on asymmetric cryptography with RSA, or ElGamal cryptosystems, or Diffie-Hellman key-exchange. Finally, signatures and hash functions are studied.

Foundations of computer science 1 - Introduction to Python

  • LSIN100Fondements de l’informatique 1 - Initiation Python
  • Format – 3h/week during 12 weeks, from September to December (36h)
  • Lecturer – Yann Rotella
  • Websitehttps://github.com/uvsq-info/l1-python
  • Description – This is an introductory course to programming for first-year students. The programming language used is Python. The objective is the understanding of the basic notions: conditional and iterative structures, functions, and lists. During the last class, Git is presented.

https://xkcd.com/1935/1

  1. Extracted from xkcd.com ↩︎