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

Ensino

Eu ingressei como Professor Adjunto no Instituto de Informática da UFRGS em Março de 2005. As missões das Universidades no Brasil incluem Ensino, Pesquisa e Extensão, e por isso boa parte do meu tempo de trabalho é dedicado ao ensino, tanto na graduação (cursos de Ciência da Computação e de Engenheria da Computação) como na pós-graduação.

Curso de tópicos especiais, na Technische Universität Berlin, 2008/10

Eu ministrei uma disciplina de 12h (completada por mais 12 horas com o Prof. Markus Ritt, UFRGS) sobre programação paralela, em Berlim, em outubro de 2008. A seguir, encontra-se os slides em inglês.

  1. Aula 1, introdução à programação paralela.
  2. Aula 2, complexidade PRAM.
  3. Aula 3, sobre complexidade PRAM de alguns algoritmos de algebra linear.
  4. Aula 4, sobre modelos com comunicações e decomposição de domínio.
  5. Aula 5, sobre a Message Passing Interface (MPI).
  6. Aula 6, uma sessão de laboratório MPI.

Na Graduação

  1. Eu ministro, desde o primeiro semestre de 2006, a disciplina de Compiladores (60 horas por semestre). Como é a única disciplina no curso que trata deste assunto, o programa é carregado e abrange análise léxica, sintática, semântica, geração de código intermediário e otimização (essa parte, em outras universidades, costuma ser distinta). Desde 2008/2, complementei o ensino teórico com um projeto, constituído de 7 trabalhos incrementais em que os alunos, por grupos de três integrantes, contruem um pequeno compilador.

    Essa disciplina é bastante exigente, porém muito interessante (aliás, é interessante devido ao nível de exigência…). Se aproxima de boa parte de meus interesses em pesquisa, pois High-Performance Computing (HPC) começa pelo uso avançado do compilador.

    Pode-se encontrar aqui algumas lâminas e podcasts de minha disciplina de Compiladores.

  2. Eu lecionei durante 6 semestres a disciplina de Sistemas Operacionais I, junto com meu colega o Professor Carissimi. A disciplina de 60 horas é uma apresentação das três funções básicas do núcleo de um sistema operacional: gerenciar processos e escaloná-los na CPU, virtualizar a memória e organizar os dados armazenados em discos.

    Apesar de essa essa disciplina ter muito a ver com minha área de pesquisa (programação paralela e distribuída com processos pesados (MPI) e threads), eu decidi, em Julho de 2008, de me dedicar mais a Compiladores e ao ensino na pós-graduação.

  3. Eu lecionei numa disciplina introdutória chamada “Introdução à programação”, durante meus dois primeiros semestres na UFRGS.

Na Pós-Graduação

  1. Eu proponho no primeiro semestre de cada ano uma disciplina chamada “Programação Paralela para Processamento de Alto Desempenho”, que apresenta as ferramentas para programação paralela: OpenMP, MPI, UPC, Cilk, … Trata-se de uma disciplina prática, de 60 horas.

    Pode-se encontrar aqui algumas lâminas de minha disciplina sobre o MPI e o OpenMP, e exemplos de programas simples.

  2. No segundo semestre de cada ano, eu ministro uma disciplina complementar chamada “Projeto de Programação Paralela”, com ênfase muito mais teórica: dessa vez, trata-se de conceber algoritmos paralelos para HPC, com garantia de complexidade eficiente em tempo e/ou espaço. Apresento os modelos PRAM, BSP e LogP basicamente. Não posso deixar de citar meu ex-orientador de doutorado, colega e amigo, Jean-Louis Roch, como inspirador dessa disciplina.
  3. Eu participo ao ensino de uma disciplina do Prof. Navaux, chamada “Introdução ao Processamento Paralelo e Distribuído”, que trata tanto do nível arquitetural das CPU encontradas em HPC, como do nível da programação de essas arquiteturas (multicores, clusters…).

Curso de Especialização Redesis

Eu ministrei uma palestra sobre programação paralela para Clusters de alto desempenho com o MPI, no âmbito do curso de especialização em Redes, em Agosto de 2008.

Fri Apr 02 16:48:12 -0300 2010