L'horreur absolue ! Je demande une prime de risque et un salaire triple pour tous mes TD de DEUG 1 !
Parait-il, les CM, c'est pire. Franchement, j'ai du mal à imaginer, mais mes collègues sont catégoriques. Que Dieu s'il existe me préserve longtemps des CM en DEUG 1...
Dans le cadre du module de maîtrise "Algorithmes répartis", j'ai eu le bonheur de pouvoir enseigner pendant 10 heures le domaine dans lequel je me suis spécialisé pendant ma thèse, à savoir les algorithmes auto-stabilisants. Les responsables du module m'ont donné carte blanche. J'ai donc eu à charge de définir l'enseignement et de faire les TD en conséquence.
Dans cette série de TD, les étudiants ont appris à manipuler les automates finis, (déterminisation et réduction d'automates, calcul de l'expression rationnelle associée). Le lemme de pompage a été vu en cours, une intuition de preuve leur à été donné en TD.
Les étudiants ont eu à programmer une sorte de jeu consistant à lancer un balle dans un "terrain" clos et à la faire rebondir sur d'éventuels obstacles (pour les connaisseurs, la variante dans laquelle l'obstacle heurté disparait de l'écran ressemble beaucoup au célèbre jeu "Arkanoïd"). Des rappels mathématiques (équations cartésiennes et paramètriques, symètrie d'un point et d'une droite) ont permis aux étudiants de programmer sans se soucier du côté mathématique du problème.
Ce Travail d'Etude et de Recherche s'est divisé en trois phases. Dans un premier temps, les
étudiants (par trinome) ont "spécifié" le problème qui leur était posé. Le but de cette première
partie était de leur apprendre à bien définir leurs objectifs de programmation. En particulier, les
sujets de TER laissaient volontairement certains points dans l'ombre, points qu'une spécification
correctement menée permettait d'éclaicir (avec l'aide de l'enseignant - commanditaire). Les
étudiants ont eu à rendre un rapport sur la manière dont ils comptaient résoudre le problème, ainsi
qu'un manuel de l'utilisateur prévisionnel et un jeu de test.
L'analyse du problème à été effectuée en UML. Un deuxième rapport, comprenant diagrammes de classe et
exemples d'éxécution leur à été demandé.
Au final, la programmation de leur logiciel en Java à donné lieu à une
soutenance et à la remise d'un
rapport.
Ce module a eu pour but de familiariser les étudiants avec les langages fonctionnels. Après avoir appris les rudiments du langage Calm, les étudiants ont eu à faire un projet semestriel. Le rôle des TD à été d'aider les élèves à assimiler les differents concepts du langage.
A la demande d'un certain nombre d'étudiants mécontent de leur logiciel de traitement de texte, deux TD d'initiation à LaTeX ont eu lieu. En 6 heures, l'essentiel à été vu (structure de document, tableaux, index et bibliographie, conversion et insertion d'images, macro, formules mathématiques et surtout localisation des doc LaTeX sur le net). Cette initiation leur a permis de rendre tous les rapports des projets de maîtrise en LaTeX.
Au cours de cette série de travaux pratiques, les étudiants ont eu à comprendre le fonctionnement
interne d'un microprocesseur, puis d'en concevoir un (à l'aide du logiciel CASCAD). Ensuite, ils ont
dû écrire un compilateur assembleur pour leur propre processeur. Au final, ils ont eu à faire
quelques programmes simples dans le langage assembleur qu'ils avaient personnellement
défini.
La deuxième partie du cours a été consacrée aux interruptions logicielles en C++. Les étudiants ont
programmé la gestion de la souris, l'affichage de formes géométriques à l'écran et l'activation du
haut-parleur interne de l'ordinateur. L'accent a été mis sur le lien entre les instructions
d'interruption logicielle en C++ et leurs effets directs sur le microprocesseur.
Après avoir appris les rudiments du langage Turbo Pascal, les étudiants ont eu à faire un projet semestriel (gestion d'un tournoi de tennis). Le rôle de l'encadrant a été d'aider les binômes à structurer leurs travaux, à les coordonner ainsi que de répondre à des questions techniques portant sur la programmation proprement dite.
Entre le premier et le deuxième semestre du DEUG, un stage d'une semaine est proposé aux étudiants désirant s'initier à la programmation en Turbo Pascal. Le but du stage était de leur apprendre l'utilisation des boucles, des fonctions et la programmation récursive.