Conceitos básicos de sistemas distribuídos (coordenação e sincronização de processos, exclusão mútua, difusão de mensagens); Paradigmas de linguagens de programação distribuída; Técnicas de descrição de sistemas; Tolerância a Falhas; Sistemas Operacionais Distribuídos; Ambientes de suporte ao desenvolvimento de sistemas distribuídos; Estudo de casos.