Teaching

2020-2021

MIF01 - Gestion de projet et génie logiciel (17h) [www]
  • Competences : Java, UML, Design Patterns, Agile, Git, GitLab, Éthique.
  • Université Claude Bernard Lyon 1
  • Master Informatique 1e année
  • Teacher : Matthieu Moy
  • Teaching Assistants: Aurelien Tabard, Emmanuel Coquery, Florian Adam, Lionel Medini, Paul Iannetta, Thibault Batal et Thomas Bonis
  • Objectives : Ce cours intensif de 2 semaines est l'occasion pour les étudiants de se frotter à un projet comme s'ils étaient en entreprise. D'un côté, les TDs sont centrés sur les cycles de développement (Agile (Scrum, Kanban, User stories), Waterfall, Cycle en V), que l'on retrouve dans les entreprises ainsi que sur la conception de projet via UML et de l'utilisation pratique des designs patterns (en particulier MVC et Strategy). De l'autre côté, les TPs sont centrés sur la réalisation d'une application en Java (cette année, une réplique de StopCovid), où les étudiants mettent en pratique la gestion de versions via git et les designs patterns qu'ils ont vu en cours.
CAP - Compilers and program analysis (28h) [www-2020] [www-2019]
  • Competences : Python, Assembleur RISCV, ANTLR, Graphe de contrôle, SSA, Analyse de flot, Allocation de registres, Futures, Pattern Visitor. Interprétation abstraite.
  • École Normale Supérieure de Lyon
  • Master Informatique 1e année
  • Teachers : Laure Gonnord, Ludovic Henrio, Matthieu Moy et Yannick Zakowski
  • Teaching Assistants : Gabriel Radanne et Paul Iannetta
  • Objectives : Ce cours porte sur la création d'un compilateur en Python avec ANTLR qui prend en entrée un sous-ensemble de C (MiniC) et qui le compile en assembleur RISCV. Au cours des différentes séances ont passe en revue, la création d'un lexer et d'un parseur, la génération de code assembleur et les thématiques associées. Le cours finit sur la présentation de l'interprétation abstraite (avec implémentation d'un analyseur statique) et des futures (avec implémentation).
LIAP2 - Algorithmique et programmation fonctionnelle (18h) [www] [www-old]

2019-2020

Integrated Project (28h) [www]
  • Teacher: Eddy Caron
  • Assistant: Paul Iannetta
  • Project: FOrML [www (lien mort)] [git] [rapport]
  • Project members: Firmin Martin, Jérôme Boillot, Quentin Corradi, Avril de Goër de Herve, Orégane Desrentes, Dina El Zein, Paul Géneau de Lamarlière, Thibault Marette, Guillaume Rousseau, Justine Sauvage, et Victoria Sedig.
  • Technologies: Godot, Git, TPTP, PHP, SQL.
  • Objective: Étendre le jeu Catabot Rescue à la logique du premier ordre
  • NB: L'épidémie de Covid-19 a malheureusement terriblement entravée la progression de ce projet
Projet 1 (36h) [www] (privé)
  • Teacher: Eddy Caron
  • Assistant: Amélie Barbe, Étienne Moutot et Paul Iannetta
  • Objectives: Découverte d'au moins 4 langages de programmation dont : C (obligatoire), C++, Python, OCaml, Haskell, Java, Erlang, PHP, LaTeX, Bash, Makefile et HTML/CSS.
  • Forme du cours: Chaque langage dispose d'une base d'exercices présentée sous la forme de fiche d'exercices. Les étudiants les font librement et les chargés de TDs font des corrections individuelles pour chaque étudiant.

2018-2019

Integrated Project (28h) [www]
  • Responsable: Eddy Caron
  • Assistant: Paul Iannetta
  • Project: Avatar Ensignes [www] [git] [rapport]
  • Project members: Hadrien Brochet, Osmar Cedron, Yoan Coudert Osmond, Antonin Dudermel, Ugo Giocanti, Pierre Marcus, Chloé Paris, Gabrielle Pauvert et Amadeus Reinald
  • Technologies: Godot, Blender, git, HTML/CSS.
  • Objective: Créer un « éditeur de texte » pour les personnes sourdes et malentendantes.
Préparation au ACM (32h) [www]
  • Compétences: C++, algorithmes de mots, algorithmes de graphe, programmation dynamique, flots, structures de données exotiques (arbres de Fenwick, Arbre de segments, Arbre d'intervals, etc.)
  • Teacher: Eric Thierry
  • Teaching Assistants: Alexandre Talon et Paul Iannetta
  • Objectives: Ce cours est le pendant pratique du cours Algo 2, les étudiants ont l'occasion de mettre en pratique les algorithmes qu'ils ont étudié de façon théorique.