Doutorado em Ciência da Computação

Atenção! O edital referente ao processo seletivo e arquivos pertinentes ao curso estão disponíveis no site do curso.
Os resultados dos processos seletivos serão divulgados no site do curso.

Estrutura Curricular

  Nome da Disciplina Carga Horária Modalidade Ações
30004019: Álgebra Computacional - 60h 60 Optativa
Ementa da Disciplina

Espaços vetoriais e transformações lineares. Sistemas de equações lineares: eliminação de Gauss e operações elementares, teoremas de existência e unicidade, inversas generalizadas, determinante; métodos numéricos: métodos diretos e iterativos. Número de condição de matrizes, esmavas de erros. Autovalores e autovetores: transformação de similaridade, teorema de Cayley-Hamilton, forma canônica de Jordan, transformações unitárias; métodos numéricos: potência, potência inversa, métodos de Jacobi, Givens, Householder e QR.

30004020: Algoritmos de Aproximação - 60h 60 Optativa
Ementa da Disciplina

Introdução a problemas de otimização e algoritmos de aproximação. Métodos de desenvolvimento de algoritmos de aproximação: arredondamento, métrico, primal, dual, primal-dual, probabilístico e programação semi-definida. Algoritmos de aproximação para
problemas de escalonamento, da mochila, empacotamento e satisfatibilidade. Algoritmos de aproximação para problemas de otimização em grafos (caixeiro viajante, coberturas, conectividade, cortes, etc). Algoritmos probabilísticos. Inaproximabilidade.

30004021: Algoritmos Distribuídos - 60h 60 Optativa
Ementa da Disciplina

Introdução a algoritmos distribuídos e suas propriedades. Medidas de complexidade de algoritmos distribuídos. Modelos de sistemas distribuídos e algoritmos básicos. Algoritmos distribuídos para eleição de líder, sincronização de relógios, difusão confiável, acesso a memória compartilhada distribuída, consenso distribuído, transações distribuídas, replicação e resolução de outros problemas em sistemas distribuídos.

30004022: Algoritmos Paralelos - 60h 60 Optativa
Ementa da Disciplina

Modelos de computação paralela. Desempenho de algoritmos paralelos, noções de complexidade. Técnicas básicas: árvores balanceadas, pointer jumping, divisão e conquista, particionamento, pipelining, quebra de simetria. Algoritmos paralelos para problemas com árvores e listas: list ranking, técnicas de Euler tour, contração de árvores, avaliação de expressões aritméticas, busca, intercalação e ordenação. Algoritmos paralelos numéricos: multiplicação de matrizes, solução de sistemas lineares. Algoritmos paralelos para problemas em grafos: componentes conexos, fecho transitivo e árvore geradora.

30004005: Análise de Algoritmos - 60h 60 Optativa
Ementa da Disciplina

Correção e eficiência de algoritmos. Crescimento de funções. Recorrências. Problemas de ordenação e seleção. Projeto avançado de algoritmos e técnicas de análise: divisão e conquista, programação dinâmica, algoritmos gulosos, análise amortizada. Estruturas de dados: heaps, tabelas de dispersão, estruturas para conjuntos disjuntos. Árvores de busca. Algoritmos em grafos: buscas em grafos, caminhos mais curtos, árvore geradora mínima. Noções da teoria de complexidade: classes P, NP, NP-dicil e NP-completo. Tópicos selecionados: operações sobre matrizes, algoritmos com teoria dos números, processamento de cadeias, geometria computacional, algoritmos de aproximação.

30004023: Aprendizado de Máquina - 60h 60 Optativa
Ementa da Disciplina

Introdução ao aprendizado de máquina: histórico e conceitos. Aprendizado supervisionado: gerativo e discriminativo; paramétrico e não paramétrico. Aprendizado não supervisionado: técnicas de agrupamento, redução de dimensão, métodos kernel e aprendizado de regras de associação. Teoria de aprendizagem: bias e variância e teoria VC. Aprendizado por reforço e controle adaptativo. Aplicações de algoritmos de aprendizado de máquina.

30004009: Arquitetura de Computadores - 60h 60 Optativa
Ementa da Disciplina

Introdução avançada a arquitetura e organização de computadores. Tecnologias e perspectiva histórica. Avaliação de desempenho. Conjunto de instruções. Unidades de aritmética e lógica. Projeto do processador: datapath e unidade de controle. Pipeline. Paralelismo em nível de instrução, escalonamento dinâmico de instruções, predição de desvios, especulação, despacho múltiplo. Hierarquia da memória: cache e memória virtual. Dispositivos de I/O, barramentos e interfaces. Modelos de arquiteturas paralelas, arquiteturas mul-core, multiprocessadores, consistência de caches, clusters e redes de interconexão.

30004014: Banco de Dados - 60h 60 Optativa
Ementa da Disciplina

Arquitetura de sistemas de gerenciamento de banco de dados. Modelos de dados. Linguagens de consulta. Transações, controle de concorrência e recuperação. Processamento de consultas e atualizações. Segurança e autorização. Organização e indexação de arquivos.

30004024: Banco de Dados Distribuído - 60h 60 Optativa
Ementa da Disciplina

Arquiteturas de bancos de dados. Distribuição. Banco de dados federado. Banco de dados paralelo. Sistemas de gerenciamento de bancos de dados distribuídos. Processamento e otimização de consultas distribuídas. Transações, controle de concorrência e recuperação. Data Warehouse. Estruturação e recuperação de dados em bancos de dados não convencionais.

30004025: Bioinformática - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos de Biologia Molecular e Genômica. Algoritmos para comparação de sequências. Montagem de fragmentos. Busca em bases de dados biológicos. Anotação de genomas. Arvores filogenéticas. Genômica comparava.

30004026: Biologia Computacional - 60h 60 Optativa
Ementa da Disciplina

Introdução à Genômica. Genomas. Mapeamento, Sequenciamento, Anotação e Bancos de Dados. Genômica Comparava. Evolução e Transformação Genômica. Genomas de Procariotos. Genomas de Eucariotos. Genômica e Biologia Humana. Microarrays e
Transcriptomas. Proteômica. Sistemas Biológicos.

30004027: Compiladores - 60h 60 Optativa
Ementa da Disciplina

Descrição formal de linguagens de programação. Análise léxica. Análise sintática. Análise semântica. Recuperação de erros. Blocos básicos e traces. Geração de código: geração de código intermediário, seleção de instruções e alocação de registradores. Sistemas de execução: blocos, procedimentos, recursão. Ferramentas para construção de analisadores léxicos, sintáticos e semânticos e para geração de geradores de código. Construção de um compilador para uma linguagem exemplo.

30004028: Complexidade Computacional - 60h 60 Optativa
Ementa da Disciplina

Algoritmos e modelos de computação. Análise assintótica, indução matemática, relações de recorrência, análise de pior caso e de caso médio, limites inferiores. Máquinas de Turing, tese de Church-Turing, decidibilidade, problema da parada, redutibilidade, teorema da recursão. Intratabilidade. Problemas de decisão e de otimização. Complexidade de tempo e de espaço. Classes de complexidade de problemas: P, NP, Co-NP, NP-difícil e NPcompleto. Reduções e NP-completude. Conjectura P x NP.

30004029: Computação Gráfica - 60h 60 Optativa
Ementa da Disciplina

Introdução à computação gráfica: conceitos, origem, subáreas, aplicações. Transformações geométricas. Modelagem geométrica: representação de curvas e superfícies, modelagem de sólidos, técnicas de modelagem geométrica. Visualização 3D: projeções,
especificação de uma vista 3D arbitrária, câmera virtual. Algoritmos de determinação de superfícies visíveis. Iluminação e tonalização: modelos de iluminação, texturas, tonalização de polígonos, algoritmos de iluminação global. Animação. Tópicos avançados.

30004053: Conclusão de Curso de Mestrado - 300h 300 Optativa
Ementa da Disciplina

Disciplina para aproveitamento de créditos por conclusão de curso de
Mestrado.

30004030: Criptografia - 60h 60 Optativa
Ementa da Disciplina

Requisitos da segurança da informação. Métodos clássicos de ciframento. Criptoanálise elementar. Cifras de bloco versus cifras de fluxo. Técnicas para ciframento encadeado. Fundamentos matemáticos da criptografia moderna. Técnicas básicas para a geração de números pseudo-aleatórios. Algoritmos modernos de ciframento: simétricos ou de chave secreta; assimétricos ou de chave pública. Assinaturas digitais: algoritmos e protocolos para autenticação de usuários e não-repúdio de envio de mensagens. Funções de espalhamento (hashing) criptográficas: algoritmos mais conhecidos e seu uso em protocolos de autenticação de mensagens. Protocolos de suporte: certificação e gerenciamento de chaves. Técnicas para compartilhamento de informações secretas. Estudo de casos.

30004015: Desenvolvimento de Software - 60h 60 Optativa
Ementa da Disciplina

Análise, projeto, implementação, teste, manutenção e reusabilidade de software.

30004016: Engenharia de Software - 60h 60 Optativa
Ementa da Disciplina

Modelos de processos de software. Engenharia de Requisitos. Análise e projeto de software. Teste de software. Manutenção e reengenharia de software. Reusabilidade de software. Qualidade de software. Gerência de projetos de software. Tendências e
perspectivas em Engenharia de Software.

30004002: Estágio de Docência II - 0h 0 Obrigatória
Ementa da Disciplina

Atividades com o objetivo de preparar o aluno para a docência em nível superior, visando a qualificação do ensino de graduação.

30004003: Estágio de Docência III - 0h 0 Obrigatória
Ementa da Disciplina

Atividades com o objetivo de preparar o aluno para a docência em nível superior, visando a qualificação do ensino de graduação.

30004006: Estruturas de Dados - 60h 60 Optativa
Ementa da Disciplina

Noções de complexidade. Árvores binárias de busca, árvores balanceadas, árvores AVL, árvores rubro-negras, árvores de difusão, árvore digital, árvores de sufixos, árvores auto-ajustáveis, árvores B. Tabelas de dispersão. Listas de prioridade, heaps.
Estruturas para conjuntos disjuntos. Processamento de cadeias: busca de padrão e compactação de dados.

30004051: Estudo Dirigido em Metodologia e Técnicas de Computação - 60h 60 Optativa
Ementa da Disciplina

Estudo, sob supervisão do orientador e dos demais professores da área de Metodologia e Técnicas de Computação, de tópicos específicos para o desenvolvimento do projeto de pesquisa do aluno.

30004050: Estudo Dirigido em Sistemas de Computação - 60h 60 Optativa
Ementa da Disciplina

Estudo, sob supervisão do orientador e dos demais professores da área de Sistemas de Computação, de tópicos específicos para o desenvolvimento do projeto de pesquisa do aluno.

30004052: Estudo Dirigido em Teoria da Computação - 60h 60 Optativa
Ementa da Disciplina

Estudo, sob supervisão do orientador e dos demais professores da área de Teoria da Computação, de tópicos específicos para o desenvolvimento do projeto de pesquisa do aluno.

30004049: Fundamentos de Ciência da Computação - 60h 60 Optativa
Ementa da Disciplina

Disciplina de conteúdo variável abordando tópicos introdutórios na área de Ciência da Computação

30004031: Geometria Computacional - 60h 60 Optativa
Ementa da Disciplina

Projeto e análise de algoritmos para problemas em geometria computacional, incluindo problemas de envoltória convexa, caminho mínimo, busca geométrica, proximidade e intersecções geométricas. Questões de análise de complexidade, quotas inferiores e
superiores, e modelos computacionais. Aplicações à computação gráfica, planejamento de movimento, casamento de padrões, etc.

30004017: Inteligência Artificial - 60h 60 Optativa
Ementa da Disciplina

História da Inteligência Artificial (IA). Caracterização dos problemas de IA, aplicações (jogos, robótica, processamento de linguagem natural) e interações com outras áreas de pesquisa. Métodos de busca e planejamento para resolução de problemas. Formalismos de representação de conhecimento e inferência. Algoritmos de aprendizado de máquina.

30004007: Linguagens Formais e Autômatos - 60h 60 Optativa
Ementa da Disciplina

Formalismos para descrição de linguagens: Gramáticas e máquinas. Autômatos finitos e linguagens regulares. Autômatos a pilha e linguagens livres de contexto. Máquinas de Turing. Autômatos limitados linearmente e suas linguagens. Problemas indecidíveis.

30004032: Mineração de Dados - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos de coleta e engenharia de dados. Técnicas de mineração de dados. Aspectos de implementação. Domínios de aplicação.

30004033: Otimização de Código - 60h 60 Optativa
Ementa da Disciplina

Otimização de Código Análise de fluxo de dados. Técnicas de otimização de código. Ferramentas para construção de geradores de código. Compiladores paralelizantes.

30004034: Programação Concorrente - 60h 60 Optativa
Ementa da Disciplina

Conceituação de processos concorrentes, modelos de sincronização e comunicação entre processos. Linguagens de programação concorrentes e técnicas de prova de correção de programas concorrentes. Conceituação de livelock, deadlock, escalonamento
justo e quase justo.

30004035: Programação Linear - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos de Álgebra Linear. Vetores e matrizes. Algoritmo de GaussJordan. Algoritmo Simplex. Problema canônico primal. Problema canônico dual e dualidade: Lema da dualidade, folgas complementares, Teorema da dualidade. Formulação de
problemas de programação linear. Aplicações em problemas de fluxos em redes: problema do caminho de custo mínimo, problema do fluxo máximo, problema do fluxo viável de custo mínimo. Algoritmo Dual-Simplex. Análise de sensibilidade. Decomposição de Dantzig-Wolfe. Algoritmos polinomiais para programação linear.

30004036: Programação Linear Inteira - 60h 60 Optativa
Ementa da Disciplina

Programação Linear (PL): formulando problemas em PL, algoritmo PrimalSimplex, dualidade em PL, algoritmo Dual-Simplex e complexidade. Programação Linear Inteira (PLI): formulações e complexidade. Otimalidade: relaxações e limitantes. Problemas de
PLI bem resolvidos. Algoritmos de branch-and-bound para PLI. Algoritmos de planos-de-corte para PLI. Desigualdades válidas fortes: liing, Combinatória poliédrica, problema da separação e questão da complexidade otimização x separação. Relaxação lagrangeana: método do subgradiente e heuríscas lagrangeanas. Otimização de grande porte: método de geração de colunas.

30004010: Programação Paralela - 60h 60 Optativa
Ementa da Disciplina

Arquiteturas de computação paralela. Análise de desempenho de programas paralelos. Programação multicore e paradigmas de interação entre processos: memória compartilhada, memória transacional. Ferramentas para programação com variáveis compartilhadas: Pthreads, OpenMP, CUDA e OpenCL. Programação distribuída e paradigmas de interação entre processos: troca de mensagens, RPC. Ferramentas para programação com troca de mensagens: biblioteca MPI. Algoritmos fundamentais: backtracking, branchandbound, divisão e conquista, ordenação e busca. Programas paralelos para aplicações: mineração de dados, inteligência artificial, inteligência computacional e computação cientifica.

30004011: Projeto de Sistemas de Hardware - 60h 60 Optativa
Ementa da Disciplina

Estudo de Linguagens de Descrição de Hardware usando uma metodologia de desenvolvimento e reuso de componentes (IP cores). Verificação de circuitos. Processo de projeto de circuitos. Projeto, prototipação e execução de projetos digitais, através de atividades práticas, utilizando ferramentas de simulação, síntese e análise de desempenho, área e consumo de energia de circuitos digitais.

30004012: Redes de Computadores - 60h 60 Optativa
Ementa da Disciplina

Introdução a redes de computadores e comunicação de dados. Terminologia, topologias, modelos de referência. Fundamentos de transmissão de dados, codificações analógica e digital. Protocolos e tecnologias de redes locais, metropolitanas, de longa distância e redes sem fio. Interconexão de redes. Arquitetura e protocolos TCP/IP. Segurança e autenticação. Estudo de casos.

30004037: Redes Neurais Artificiais - 60h 60 Optativa
Ementa da Disciplina

Breve história de redes neurais. Cognição e modelos biológicos. Processamento simbólico versus não-simbólico. Primeiros modelos de redes neurais. Redes MLP (Mul Layer Perceptron): arquitetura, algoritmo backpropagaon. Aprendizado profundo: arquitetura e treinamento. Arquiteturas modernas de redes neurais: redes recorrentes, redes convolucionais e outras. Aplicações de redes neurais.

30004038: Reusabilidade de Software - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos e histórico sobre reutilização de software. Análise de domínio. Reutilização de software em vários níveis de abstração (requisitos, análise, projeto, implementação, teste e manutenção). Técnicas para reutilização de software: bibliotecas, padrões de software, linhas de produto, componentes, frameworks, geradores de aplicação, serviços. Gerência de configuração. Tendências e perspectivas em reusabilidade de software. Gerenciamento de configuração.

30004004: Seminários de Computação - 0h 0 Obrigatória
Ementa da Disciplina

Seminários de pesquisa sobre tópicos de Computação e Tecnologia.

30004039: Simulação de Sistemas - 60h 60 Optativa
Ementa da Disciplina

Conceitos de simulação. Noções de processos estocásticos. Geração de variáveis aleatórias. Distribuições de probabilidade. Coleta, geração e análise de dados. Conceitos e classificação de modelos: modelagem discreta e contínua. Metodologia de análise de desempenho. Métricas de desempenho. Modelagem de sistemas para simulação. Estrutura e componentes de simuladores. Ferramentas de simulação. Análise estatística de dados de entrada, validação do simulador e análise estatística dos resultados da simulação.

30004040: Sistemas Distribuídos - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos. Arquiteturas de sistemas distribuídos. Processos. Comunicação. Nomeação. Sincronização. Sistemas de arquivos distribuídos: consistência e replicação. Migração de processos. Tolerância a falhas. Segurança. Estudo de casos.

30004013: Sistemas Operacionais - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos. Gerência e escalonamento de processos. Concorrência, sincronização de processos e deadlock. Gerência de memória: alocação dinâmica de memória, paginação, segmentação e memória virtual. Sistemas de arquivos. Gerência de E/S.
Proteção e segurança. Virtualização. Estudo de casos.

30004008: Teoria dos Grafos - 60h 60 Optativa
Ementa da Disciplina

Conceitos básicos: grafos, vizinhanças e graus de vértices, caminhos e circuitos, subgrafos, cortes, grafos conexos e componentes, pontes, florestas e árvores, grafos aleatórios, representações computacionais, algoritmos básicos (busca em largura e busca em profundidade). Grafos bipartidos ou bicoloráveis. Isomorfismo. Conjuntos independentes/estáveis. Cliques. Cobertura por vértices. Coloração de vértices. Emparelhamentos. Coloração de arestas. Árvores geradoras mínimas. Caminhos e circuitos mínimos. Fluxo. Circuitos e caminhos hamiltonianos.

30004041: Tópicos em Computação Gráfica - 60h 60 Optativa
Ementa da Disciplina

Disciplina de conteúdo variável abordando tópicos avançados na área de Computação Gráfica.

30004043: Tópicos em Metodologia e Técnicas de Computação - 60h 60 Optativa
Ementa da Disciplina

Disciplina de conteúdo variável abordando tópicos avançados na área de Metodologia e Técnicas de Computação.

30004042: Tópicos em Sistemas de Computação - 60h 60 Optativa
Ementa da Disciplina

Disciplina de conteúdo variável abordando tópicos avançados na área de Sistemas de Computação.

30004044: Tópicos em Teoria da Computação - 60h 60 Optativa
Ementa da Disciplina

Disciplina de conteúdo variável abordando tópicos avançados na área de Teoria da Computação.

30004048: Tópicos Especiais - 60h 60 Optativa
Ementa da Disciplina

Os Tópicos Especiais poderão ser ofertados na forma de disciplinas esporádicas, sem alterar a estrutura curricular do curso, ou utilizados para integralizar o currículo do aluno por convalidação de créditos conforme Norma vigente da Pós-Graduação stricto sensu da UFMS.

30004047: Tópicos Especiais - 45h 45 Optativa
Ementa da Disciplina

Os Tópicos Especiais poderão ser ofertados na forma de disciplinas esporádicas, sem alterar a estrutura curricular do curso, ou utilizados para integralizar o currículo do aluno por convalidação de créditos conforme Norma vigente da Pós-Graduação stricto sensu da UFMS.

30004045: Tópicos Especiais - 15h 15 Optativa
Ementa da Disciplina

Os Tópicos Especiais poderão ser ofertados na forma de disciplinas esporádicas, sem alterar a estrutura curricular do curso, ou utilizados para integralizar o currículo do aluno por convalidação de créditos conforme Norma vigente da Pós-Graduação stricto sensu da UFMS.

30004046: Tópicos Especiais - 30h 30 Optativa
Ementa da Disciplina

Os Tópicos Especiais poderão ser ofertados na forma de disciplinas esporádicas, sem alterar a estrutura curricular do curso, ou utilizados para integralizar o currículo do aluno por convalidação de créditos conforme Norma vigente da Pós-Graduação stricto sensu da UFMS.

30004018: Visualização - 60h 60 Optativa
Ementa da Disciplina

Introdução: visão geral da área de visualização; aplicações; problemas e desafios da visualização. Representações visuais, tipos de dados e técnicas de interação em análise visual de dados. Técnicas de visualização. Visualização de superfícies e volumes. Visualização de campos escalares, vetoriais e tensoriais. Visualização de informação: dados com múltiplos atributos; dados de múltiplos tipos; gratos; hierarquias; dados temporais; sumarização visual. Aspectos de avaliação de técnicas de visualização.