La préparation d'énoncés et les différentes tâches relatives aux partiels font partie de ces services.
Tout au long de ce T.P. il était demandé aux étudiants d'écrire un compilateur d'un langage objet à héritage simple fortement typé vers la machine virtuelle Java.
Le but était de donner aux étudiants une compréhension de l'approche fonctionnelle en s'appuyant sur le langage Ocaml (développé et distribué par l'I.N.R.I.A.), un langage à la ML , fortement typé dont nous masquions les traits impératifs. Le cours couvrait en particulier la manipulation des types récursifs et aboutissait sur une étude de cas dont j'ai élaboré le sujet.
J'ai choisi d'enseigner deux ans au sein de cette équipe pédagogique réduite, en particulier parce que le contenu du cours a considérablement évolué d'une année sur l'autre.
Après une introduction aux grammaires, l'accent était mis sur les automates à états finis (déterminisation, minimisation, etc.), le cours abordait ensuite les aspects sémantiques, typage et évaluation, des langages.
Typage et évaluation
étaient davantage détaillés, leur approfondissement devant
permettre aux étudiants d'obtenir une meilleur vision de
l'interprétation même d'un langage.
La réalisation d'un mini-évaluateur « logo » constituait les
dernières séances de T.P.
Introduction aux composants logiques (portes or et and , forme nand de nand , simplifications, etc.) suivie d'une étude des compteurs et automates à bascules menant à une architecture RISC simple.
Afin de permettre une meilleure compréhension du fonctionnement d'un microprocesseur, les détails de construction des bascules étaient mis de côté au profit d'un approfondissement des mécanismes d'automates de contrôle.
Les T.P., qui consistaient en des modélisations de circuits dans l'outil DigLog , permettaient de définir progressivement au long des séances et de simuler le fonctionnement des composants d'un microprocesseur RISC simple.
Il s'agissait dans ce T.E.R. de réaliser en Java un jeu de plateau (pente) comportant un moteur de jeu automatique, des composantes réseau (clients, serveurs) et une interface graphique avec animations.