Dans le cadre d'une mission d'enseignement associée à mon contrat doctorale, j'ai encadré entre 2009 et 2012 des TPs et des TDs à l'université de Rennes 1, plus précisément à l'IFSIC, en licence 1 informatique, licence 1 Sciences et Propriétés de la Matière et master 1.

2011-12

2010-11

2009-10

SEM - Sémantique

Intégré au parcours "logiciel" de la première année de master, le cours de description sémantique des langages de programmation présente différents outils permettant de raisonner sur les programmes : sémantique standard, opérationnelle, dénotationnelle, axiomatique. Il ne demande que des connaissances minimales en mathématiques, les notions avancées tels que l'induction structurelle ou le lambda calcul étant introduites en cours.

Au cours des travaux dirigés, les étudiants apprennent à manipuler les sémantiques, à les enrichir afin de rendre compte de constructions supplémentaires dans le langage, à définir et prouver des équivalence sémantiques, et à les utiliser pour faire des preuves de programme.

En marge des tds, deux projets de programmation à réaliser en OCaml sont proposés. Dans le premier, un interpréteur pour un langage impératif idéalisé doit être réalisé à partir d'une sémantique opérationnelle structurée. Le second demande de réalisé un autre interpréteur, pour le même langage mais décrit à l'aide d'une sémantique dénotationnelle par continuations, et demande d'enrichir le langage de nouvelles constructions, tel que l'appel de procédures. Ces deux projets demandent aux étudiants de proposer de nouvelles constructions de langages et la sémantique associée.

OI - Outils Informatiques

Intégré à la première année de licence en Sciences et Propriété de la Matière, le cours d'initiation aux Outils informatiques aborde les bases de la programmation fonctionnelle (notions de types, de paramètres, conditionnelle, itérations bornées et non bornées) et les appliques au calcul scientifique en utilisant un système de calcul formel (Mathematica).

ASI - Architecture des Systèmes Informatiques

Le cours Architecture des Systèmes d'Information, encadré par Olivier Ridoux, présente aux étudiants quelques grands principes généraux et transversaux des systèmes d'informations, comme la notion de quantité d'information, le caractère synchrone ou asynchrone, la désignation d'objet, etc. Ces grands principes sont illustrés sur plusieurs systèmes complexes, comme le bus USB, le disque dur ou le système de fichiers.

Durant le semestre, parallèlement aux tds, les étudiants doivent effectuer une recherche documentaire sur un système, cette année le disque dur, afin d'étudier l'évolution des caractéristiques techniques de ce système au court du temps, et de comparer les différents produits présent sur le marché actuellement. Les étudiants doivent s'attacher à relier les observations qu'ils font lors de leur recherche et les informations données en cours sur le fonctionnement des disques.

Cette recherche en binômes donne lieu à un dossier et à une présentation devant les encadrants de td et le professeur.

FOR - Fonctionnement des ORdinateurs

Le cours Fonctionnement des ORdinateurs doit donner aux étudiants de l1 des bases sur la programmation impérative. Le support des TPs est l'ide éclipse, dans lequel ils programment de petits algorithmes impératifs en JAVA. N'est vu de JAVA que le noyau impératif, et non la partie "orienté objet".