Menu:

Latest news:

30.03.2010:
Stéfano got his Master!

15.03.2010:
ERAD 2010 in Passo Fundo.

19.01.2010:
Mission in Berlin.

20.12.2009:
João Lima has been accepted in PhD.

Links:

Instituições

Enseignement

J’ai commencé comme Maître de Conférence (Professor Adjunto, selon la terminologie brésilienne) en mars 2005 à l’UFRGS. Au Brésil, les universités ont trois missions~: l’enseignement, la recherche et ce que l’on appelle “extension” et qui recouvre n’importe quelle activité en rapport avec la société en général (vulgarisation scientifique, par exemple). Je dois donc dédier une part importante (de 8 à 12 heures par semaine) à mes cours au niveau License (en Computer Science et Computer Engineering) ou Master.

Nos années sont organisées en deux semestres, et chaque semestre voit se répéter les mêmes cours.

Cours comme Prof. invité à la Technische Universität Berlin, 2008/10

Lors d’un séjour à Berlin, j’ai enseigné 12h de programmation parallèle (mes 6 cours ayant été complétés par 6 autres cours avec mon collègue Markus Ritt, UFRGS). Les 6 cours étaient les suivants (transparents en anglais) :

  1. Cours 1, introduction à la programmation parallèle pour la haute-performance.
  2. Cours 2, complexité PRAM.
  3. Cours 3, complexité PRAM de quelques algorithmes en algèbre linéaire.
  4. Cours 4, modèles avec communications et décomposition de domaine.
  5. Cours 5, introduction à Message Passing Interface (MPI).
  6. Cours 6, Travaux Pratiques sur MPI.

License : Compilation et Système d’Exploitation

  1. Depuis le premier semestre de 2006, je suis en charge du cours de Compilation (60 heures par semestre, soit 15 × 4 heures). C’est le seul cours dans ce domaine que nous ayions dans nos curses, ce qui le rend assez étendu : la discipline part de l’analyse lexicale, détaille plusieurs algorithmes de parsing (montante et descendante), l’analyse sémantique et l’optimisation. Depuis Août 2008, je note les étudiants sur un projet constitué de 7 étapes de deux semaines environ, au bout desquelles les trinômes ont un mini-compilateur programmé em C avec Lex et Yacc.

    Ce cours demande pas mal de travail, aussi bien pour l’enseignant que pour les étudiants, mais il est aussi particulièrement intéressant. Voici un échantillon de mes transparents et de podcasts de cours.
  1. J’ai enseigné en Système pendant 6 semestres (discipline “Système I”), en collaboration avec mon collègue Alexandre Carissimi. Le cours de 60 h/semestre est une introduction aux troisi fonctions principales du noyau d’un système : l’ordonnancement de processus et de threads, la mémoire virtuelle et la gestion des données dans des systèmes de fichiers.

    Cette discipline était particulièrement en phase avec ma recherche sur la programmation parallèle d’architectures à mémoire partagée et distribuée), mais j’ai choisi en juin 2008 de me dédier plus à la compilation et à mes cours de Master.

Master : Programmation parallèle pour le Calcul Haute-Performance

  1. Je donne une série de cours intitulée “Programmation parallèle pour le calcul haute-performance” chaque premier semestre de l’année, qui introduit les outils classiques du domaine : OpenMP, Threads Posix, MPI, UPC, Cilk, entre autres. C’est un cours pratique, avec de nombreux TP en salle machine.

    J’ai mis ici quelques transparents sur MPI et OpenMP, ainsi que quelques exemples simples de programmes.

  2. Au second semestre de chaque année, je donne un cours théorique intitulé “Projet d’Algorithme parallèle”, qui traite de complexité parallèle dans les modèles PRAM, BSP et LogP. Ce cours et évidemment fortement influencé par mon ex-dirceteur de thèse, maintenant collègue et ami, Jean-Louis Roch, qui m’a tout appris dans le domaine.


Fri Apr 02 16:48:12 -0300 2010