DCC
 
   
TÍTULO DA SEÇÃO
Página Inicial

Estrutura Curricular


A estrutura curricular do Curso é a mesma tanto para o mestrado quanto para o doutorado, sendo formada por um conjunto de disciplinas optativas para as quais não existe nenhum pré-requisito formal. A única disciplina obrigatória é Projeto e Análise de Algoritmos para os alunos de mestrado.

Para facilitar a elaboração do plano de curso dos alunos, essas disciplinas estão agrupadas em um núcleo comum e sete áreas de conhecimento, conforme apresentado a seguir.

Embora não exista nenhuma obrigatoriedade com relação às disciplinas a serem cursadas pelos alunos, recomenda-se que os planos de curso sejam elaborados considerando a seguinte composição mínima:

Mestrado: duas disciplinas do núcleo comum, duas disciplinas da área de conhecimento de interesse do aluno e duas disciplinas escolhidas dentre as das demais áreas;

Doutorado: três disciplinas do núcleo comum, três disciplinas da área de conhecimento de interesse do aluno e cinco disciplinas escolhidas dentre as das demais áreas.

Além das disciplinas acima, que correspondem a 4 créditos cada uma, os alunos poderão tambem cursar disciplinas especiais, denominadas Tópicos Especiais em Ciência da Computação, equivalentes a 1, 2, 3 ou 4 créditos, ou ainda desenvolver tarefas ou estudos especiais até um máximo de 1/6 do número mínimo de créditos exigidos para a obtenção do grau almejado.

 Disciplinas

Núcleo Comum:
Arquitetura de Computadores
Fundamentos Teóricos da Computação
Projeto e Análise de Algoritmos

Bancos de Dados e Engenharia de Software:
Bancos de Dados
Bancos de Dados Distribuídos
Engenharia de Software
Tópicos em Bancos de Dados
Tópicos em Engenharia de Software

Computação Gráfica e Processamento Digital de Imagens:
Engenharia de Sistemas Gráficos
Processamento Digital de Imagens
Tópicos em Multimídia
Tópicos em Processamento Digital de Imagens

Inteligência Artificial e Robótica:
Inteligência Artificial
Robótica
Visão Computacional
Tópicos em Inteligência Artificial
Tópicos em Percepção Ativa e Robótica

Linguagens de Programação e Compiladores:
Compiladores
Teoria de Linguagens
Semântica Formal
Tópicos em Compiladores
Tópicos em Linguagens de Programacão

Engenharia de Computação:
Projeto de Circuitos Integrados
Síntese Lógica de Circuitos Digitais
Tópicos em Sistema Integrado de Hardware e Software

Otimização e Computação Científica:
Análise de Filas
Otimização Combinatória
Otimização em Redes
Programação Linear
Programação Não Linear
Teoria dos Grafos
Tópicos em Otimização

Sistemas de Computação e Redes de Computadores:
Análise e Modelagem de Sistemas de Computação
Programação Paralela
Redes de Computadores
Sistemas Operacionais
Tópicos em Redes de Computadores
Tópicos em Sistemas de Computação

 Disciplinas do Curso e ementas

Análise de Filas - (DCC-832) - Cadeias de Markov. Processo nascimento-morte'. Sistemas de filas nascimento-morte' em equilíbrio. Métodos de estágios. Fila M/G/1. Método de marcação. Métodos de aproximação. Filas com prioridade. Aplicações em Ciência da Computação. Redes de filas.

Análise e Modelagem de Desempenho de Sistemas de Computação - (DCC-872) - Planejamento de capacidade. Introdução à modelagem de desempenho. Teoria de probabilidades e transformadas (revisão). Simulação. Modelos de Markov. Filas únicas. Redes de filas: algoritmo VMA. Análise operacional. Estudos de casos.

Arquitetura de Computadores - (DCC-819) - Revisão de organização de computadores. Projeto de sistemas de memória. Técnicas de processamento pipeline. Aritmética de ponto fixo e ponto flutuante. Redes de interconexão. Processadores vetoriais e matriciais. Multiprocessadores. Processadores não convencionais.

Bancos de Dados - (DCC-842) - Conceitos básicos de bancos de dados. Modelos de dados e linguagens. Projeto de bancos de dados. Aspectos operacionais em sistemas de banco de dados: processamento de consultas, recuperação de falhas, segurança e integridade, controle de concorrência.

Bancos de Dados Distribuídos - (DCC-885) - Conceitos básicos de bancos de dados distribuídos. Projeto de bancos de dados distribuídos. Aspectos operacionais em sistemas de banco de dados: processamento de consultas, recuperação de falhas, segurança e integridade, controle de concorrência.

Compiladores - (DCC-886) - As fases de compilação. Linguagens regulares e livres do contexto. Autômatos finitos e de pilha. Análise sintática ascendente e descendente. Linguagens intermediárias. Tabelas de símbolos. Tradutores dirigidos por sintaxe. Gramática de atributos. Análise automática. Tratamento de erros. Sistemas para implementação de compiladores. Características de máquinas reais e abstratas. Administração de memória em tempo de execução. Síntese em compilação. Geração de código. Alocação de registradores. Resolução de endereços. Otimização de código global e local. Geração automática de geradores de código.

Engenharia de Sistemas Gráficos - (DCC-879) - O que é engenharia de sistemas gráficos interativos. Tecnologia orientada a objetos: conceitos básicos. O método Booch de desenvolvimento orientado a objetos. Interfaces gráficas de usuário: objetivos, hierarquia e prototipagem. Arquiteturas gráficas. Algoritmos gráficos bidimensionais e tridimensionais.

Engenharia de Software - (DCC-823) - Princípios e técnicas de engenharia de software. Qualidade de software. Especificação e projeto de software. Verificação de software. Processo de produção de software.

Fundamentos Teóricos da Computação - (DCC-878) - Estudo dos fundamentos matemáticos da computabilidade. Enumerabilidade e decibilidade. Conjuntos recursivamente enumeráveis. Teorema da recursão. Introdução à semântica denotacional e ao lambda cálculo. Teorema da incompletude de Gdel. Funções recursivas.

Inteligência Artificial - (DCC-845) - Resolução de problemas. Introdução à lógica de primeira ordem. Programação em lógica. Representação do conhecimento. Tópicos avançados em inteligência artificial.

Otimização Combinatória - (DCC-882) - Estruturas de dados. Algoritmos e complexidade. Problema de atribuição. Problema de Matching. Árvore geradora mínima e matróides. Problema do caminho mínimo. Programação dinâmica. Problemas NP-árduos. Branch-and-Bound. Algoritmos aproximados.

Otimização em Redes - (DCC-833) - Problemas básicos de otimização em redes: árvore geradora máxima, caminho mínimo, transporte, atribuição, fluxo de custo mínimo e fluxo máximo. Algoritmos primal, primal-dual e dual. Programação dinâmica e técnicas heurísticas. Problemas de grande porte: redes de telecomunicações, de computadores e de transporte. Processamento paralelo e complexidade de algoritmos.

Processamento Digital de Imagens - (DCC-868) - Conceitos básicos. Digitalização e representação de imagens. Elementos de um sistema de tratamento de imagens. Percepção visual. Realce de imagens. Técnicas de modificação da escala de cinza. Pseudo-coloração. Suavização de imagens. Aguçamento de bordas. Filtragem espacial. Conceitos de segmentação, codificação e classificação de imagens.

Programação Linear - (DCC-807) - Fundamentos de álgebra linear. Métodos simplex: primal, dual e primal-dual. Dualidade. Análise de sensibilidade. Interpretação econômica. Algoritmos de pontos interiores. Geração de colunas. Métodos de decomposição de Dantzig-Wolf. Aplicações.

Programação Não-Linear - (DCC-808) - Fundamentos matemáticos. Condições de otimalidade. Dualidade. Busca unidimencional. Otimização irrestrita. Métodos duais em problemas estritamente convexos. Métodos de penalidades. Métodos de direções viaáveis. Métodos de gradiente reduzido. Métodos de decomposição e linearização.

Programação Paralela - (DCC-837) - Expressão de execução paralela. Processos. Semântica de programas paralelos. Primitivas de sincronização. Núcleos de multiprogramação. Modelos de programas paralelos. Estruturação de programas paralelos. Processos comunicantes. Deteção de término. Resolução equânime de bloqueios. Exclusão mútua. Tolerância a falhas. Classificação em paralelo. Matrizes sistólicas.

Projeto e Análise de Algoritmos - (DCC-865) - Análise de algoritmos. Problemas NP-completo. Limite inferior para diferentes classes de problemas. Ordenação. Árvores de pesquisa. Recuperação de informação em textos. Algoritmos paralelos.

Projeto de Circuitos Integrados - (DCC-887) - Princípios de microeletrônica. Tecnologias de fabricação de circuitos integrados. Projeto de circuitos integrados. Técnicas e ferramentas de projeto. Projeto de sistemas. Esquema de sincronismo. Potência. Atrasos. Simulação. Testabilidade.

Redes de Computadores - (DCC-839) - Conceito de redes de computadores e sistemas distribuídos. Arquitetura de redes de computadores. Protocolos e serviços. Modelo de referência OSI/ISO. Redes locais. Camadas física, enlace, redes e transporte.

Robótica - (DCC-883) - Cinemática e dinâmica de manipuladores. Transformações de velocidade e força. Geração de trajetórias. Controle de força e posição. Sistemas de programação para robôs. Plataformas móveis, sensores e atuadores. Sistemas de navegação. Planejamento e aprendizagem.

Semântica Formal - (DCC-880) - Semântica direta. Semântica padrão. Semântica de continuação. Semântica de expressões, jumps, comandos, procedimentos e tipos. Linguagens para definição de semântica denotacional. Fundamentos matemáticos do método denotacional.

Síntese Lógica de Circuitos Digitais - (DCC-881) - Manipulação de funções lógicas. Síntese de lógica combinatória. Síntese de circuitos seqüenciais. Síntese multinível.

Sistemas Operacionais - (DCC-816) - Gerência e sincronização de processos. Técnicas de entrada/saída. Sistemas de arquivos. Técnicas de buffering. Escalonamento de processadores. Gerência de memória e memória virtual. Alocação de recursos e deadlock. Avaliação de desempenho. Sistemas distribuídos.

Teoria de Linguagens - (DCC-874) - Classificação e propriedade das gramáticas. Problemas decidíveis em cada classe de gramática e respectivas linguagens. Autômatos linear-bounded e máquinas de Turing como reconhecedores de linguagens. Noções de Parsing. Parsing determinístico. Gramática LL(k) e LR(k).

Teoria dos Grafos - (DCC-849) - Conceito de grafos e aplicações. Problemas em grafos: caminhos, planaridade, coloração, particionamento, casamento, fluxo. Algoritmos.

Tópicos em Bancos de Dados - (DCC-889) - Ementa variável.

Tópicos em Compiladores - (DCC-888) - Ementa variável.

Tópicos em Engenharia de Software - (DCC-890)- Ementa variável.

Tópicos em Inteligência Artificial - (DCC891) - Ementa variável.

Tópicos em Linguagens de Programação - (DCC-892) - Ementa variável.

Tópicos em Sistema Integrado de Hardware e Software - (DCC-898) - Ementa variável.

Tópicos em Multimídia - (DCC-896) - Ementa variável.

Tópicos em Otimização - (DCC-893) - Ementa variável.

Tópicos em Percepção Ativa e Robótica - (DCC-899) - Ementa variável.

Tópicos em Processamento Digital de Imagens - (DCC-897) - Ementa variável.

Tópicos em Redes de Computadores - (DCC-849) - Ementa variável.

Tópicos em Sistemas de Computação - (DCC-895) - Ementa variável.

Tópicos Especiais em Ciência da Computação - (DCC-831) - Ementa variável.

Tópicos Especiais em Ciência da Computação - (DCC-851) - Ementa variável.

Tópicos Especiais em Ciência da Computação - (DCC-852) - Ementa variável.

Visão Computacional - (DCC-884) - Formação de imagem. Imagens binárias e suas propriedades geométricas, topológicas e morfológicas. Regiões e segmentação. Bordas e sua detecção. Brilho e cor. Movimento e fluxo óptico. Classificação de padrões. Shape from X. Representação 2D e 3D. Estruturas relacionais; Inferência. Visão ativa.

 
 
DCC
Av. Antônio Carlos 6627 - Pampulha
Prédio do ICEx - Anexo U - sala 5309
Belo Horizonte - Minas Gerais - Brasil
CEP: 31270-010
Telefone: (31) 3409-5860 Fax: (31) 3409-5858