\section{Disciplinas optativas: 2000/2}

Abaixo seguem ementas de disciplinas que pretendo oferecer em 2000/2, 
dependendo do n\'umero de alunos (gradua\c c\~ao e mestrado) que 
se interessarem por elas. Se voc\^e estiver interessado em alguma delas,
por favor mande mensagem para mim at\'e o dia 18/10.

\subsection{Laborat\'orio de projeto de algoritmos}
Disciplina abordar\'a as seguintes classes de algoritmos:
\begin{itemize}
\item greedy algorithms
\item dynamic programming
\item branch-and-bound
\item genetic algorithms
\item geometric algorithms
\end{itemize}

\^Enfase maior ser\'a dada \`a implementa\c c\~ao (em Java, C, C++, ou LISP.)
 Al\'em disso, aprofundaremos
a matem\'atica da an\'alise de complexidade.

\subsection{Programa\c c\~ao concorrente e distribu\'{\i}da}

\begin{enumerate}
\item No\c c\~oes de programa\c c\~ao concorrente: processos, threads, 
exclus\~ao m\'utua;
\item Coopera\c c\~ao e comunica\c c\~ao de processos.
\item Programa\c c\~ao distribu\'{\i}da em Ada e Java.
\item Programa\c c\~ao distribu\'{\i}da em C/C++, via sockets.
\end{enumerate}

\subsection{Programa\c c\~ao Paralela}

\begin{enumerate}
\item No\c c\~oes de programa\c c\~ao concorrente: processos, threads, 
exclus\~ao m\'utua;
\item Modelos de computa\c c\~ao paralela: PRAM, distributed memory,
LOGP, BSP, BSR.
\item Complexidade: speed-up, effectiveness.
\item Programa\c c\~ao por passagem de mensagem:  MPI, PVM.
\item Programa\c c\~ao Direct Remote Memory Access: BSP, MPI, OpenMP.
\item Problemas: ordena\c c\~ao, algoritmos num\'ericos, pesquisa
em heaps e \'arvores.
\end{enumerate}



