Teaching

2020-2021

MIF01 - Gestion de projet et génie logiciel (17h) [www]
  • Compétences : Java, UML, Design Patterns, Agile, Git, GitLab, Éthique.
  • Université Claude Bernard Lyon 1
  • Master Informatique 1e année
  • Responsable : Matthieu Moy
  • Chargés de TDs : Aurelien Tabard, Emmanuel Coquery, Florian Adam, Lionel Medini, Paul Iannetta, Thibault Batal et Thomas Bonis
  • Objectif : 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]
  • Compétences : 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
  • Responsable : Laure Gonnord, Ludovic Henrio, Matthieu Moy et Yannick Zakowski
  • Chargés de TDs : Gabriel Radanne et Paul Iannetta
  • Objectifs : 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

Projet Intégré (28h) [www]
  • Responsable: Eddy Caron
  • Chargé de TPs: Paul Iannetta
  • Projet: FOrML [www (lien mort)] [git] [rapport]
  • Membres: 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.
  • Objectif: É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é)
  • Responsable: Eddy Caron
  • Chargés de TPs: Amélie Barbe, Étienne Moutot et Paul Iannetta
  • Objectifs: 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

Projet Intégré (28h) [www]
  • Responsable: Eddy Caron
  • Chargé de TD: Paul Iannetta
  • Projet: Avatar Ensignes [www] [git] [rapport]
  • Membres: 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.
  • Objectif: 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.)
  • Responsable: Eric Thierry
  • Chargés de TPs: Alexandre Talon et Paul Iannetta
  • Objectifs: 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.