Você está aqui: Página Inicial / Pós-Graduação / Informática / Disciplinas

Disciplinas

Básicas

 

Teoria da Computação: Estudo de modelos teóricos da computação, de linguagens formais e de autômatos. Alfabeto, linguagens e operações com linguagens. Gramáticas formais e autômatos. Autômatos finitos e de Pilha. Modelos de computação. Máquinas de Turing. Decidibilidade. Problema da parada.

 

Projeto e Análise de Algoritmos: Análise de algoritmos. Paradigmas de projeto de algoritmos. Problemas NP-Completo. Limite inferior para diferentes classes de problemas. Algoritmos paralelos. Tópicos: algoritmos em grafos, noções de recuperação da informação, algoritmos para casamento de padrão, compressão de dados.

 

Engenharia de Software: Estudo de modelos teóricos da computação, de linguagens formais e de autômatos. Alfabeto, linguagens e operações com linguagens. Gramáticas formais e autômatos. Autômatos finitos e de Pilha. Modelos de computação. Máquinas de Turing. Decidibilidade. Problema da parada

 

Geometria Computacional: Complexidade computacional. Algoritmos geométricos básicos (ângulos, distâncias, posições relativas, orientação). Fecho convexo em duas e três dimensões. Triangulações. Diagrama de Voronoi e triangulação de Delaunay. Problemas de buscas e localização. Interseção e visibilidade.

 

Eletivas

 

Redes de Computadores: Conceitos de redes de computadores. Comunicação de dados. Arquitetura de redes de computadores. Protocolos de baixo nível. Protocolos de alto nível. Redes locais de computadores. Redes de longa distância. Noções de interconexão de redes de computadores.

 

Sistemas Distribuídos: Arquitetura de sistemas distribuídos, modelos e classificação. Caracterização da comunicação de processos. Algoritmos Distribuídos. Clustering, Disponibilidade e Tolerância a falhas. Componentes de negócio em aplicação distribuída. Arquiteturas Orientadas a Serviços.

 

Especificação e Verificação Formal de Sistemas: Redes de Petri Lugar/Transição. Modelagem com Redes de Petri. Redes de Petri de Alto Nível. Redes de Petri Coloridas (CP-nets). CP-nets hierárquicas. CP-nets com Tempo. CPN-Tools. Modelagem com CP-nets. Análise comportamental de modelos CP-nets. Aplicação de CP-nets.

 

Inteligência Artificial: Histórico. Introdução. Resolução de problemas via Métodos de busca. Representação de Conhecimento e raciocínio preciso e imprecisos/incerto. Aprendizagem de máquina. Aplicações.

 

Computação Gráfica: Modelos CSG. Representação por Bordo (halfedge). Representação por Subdivisão Espacial (Octree). Modelos de Iluminação Local (Phong). Métodos de Iluminação Global (Ray Tracing, Radiosidade). Métodos de Textura.

 

Processamento de Imagem: Noções sobre a teoria de sinais. Fundamentos de cor. Padrões de cor. Imagem digital. Quantização. Operações com imagens. Dithering, warping de imagens. Aplicações. 

 

Aprendizagem de Máquina: Técnicas de aprendizado de máquina e reconhecimento de padrões. Redução de dimensionalidade. Descritores. Classificadores.

 

Sistemas a Eventos Discretos: Introdução a Sistemas de Eventos Discretos (SED). Modelagem de SED: Autômatos e Redes de Petri. Redes interpretadas. Redes de alto nível. Redes de Petri e a representação no tempo. Metodologia de projeto de sistemas de controle para SED. Teoria de Controle Supervisório. Aplicações.

 

Arquitetura e Arcabouço de Software: Introdução sobre arquitetura de software e definição dos conceitos. Estilos arquiteturais e arquiteturas de referência. Visões arquiteturais. Documentação de arquiteturas. Desenvolvimento centrado na arquitetura. Avaliação de arquiteturas de software. Fundamentos de reúso de software. Projeto de arcabouços orientados a objetos. Extensão de arcabouços: hot spots e frozen spots. Desenvolvimento centrado na arquitetura utilizando arcabouços de software.

 

Lógica Aplicada à Computação: Histórico evolutivo. Fundamentos de Lógica. Lógica proposicional. Lógica de primeira ordem. Prova Automática de Teoremas. Seminários em temas complementares.

 

Sistemas Digitais Reconfiguráveis: Sistemas analógicos e digitais; Sistemas Digitais Não-Reconfiguráveis: Sistemas combinacionais e sequenciais; Dispositivos Lógico Programáveis: Conceitos e descrição de dispositivos; Arquiteturas de FPGAs: Chaves programáveis, blocos lógicos configuráveis e mecanismos de roteamento Utilização do Kit FPGA; Metodologias de entrada de aplicações usando o software específico do kit de FPGA; Linguagens Descritivas de Hardware; Linguagem Verilog HDL; Experimentos usando kit de FPGA: Circuitos sequenciais, filtros digitais e outros.

 

Tópicos Especiais em Engenharia de Sistemas Computacionais

 

Algoritmos distribuídos: Serão tratados diversos aspectos relacionados aos algoritmos distribuídos como o modelo computacional, algoritmos básicos, técnicas e paradigmas, propriedades, algoritmos em grafos, roteamento e redes ad hoc sem fio.

 

Computação aplicada à educação: Fundamentos básicos sobre metodologia de pesquisa científica para o planejamento, implementação e validação (definição de experimentos e análise de dados) de tecnologias/softwares educacionais. Engenharia de Software Educacional (métodos e processos para desenvolvimento de sistemas educacionais, linhas de produto para autoria de conteúdo, etc). Educação a Distância. Aprendizagem Colaborativas com Suporte Educacional (CSCL). Objetos de aprendizagem. Gamificação e jogos educacionais. Mineração de dados educacionais. Sistemas tutores inteligentes. Web Social e Web Semântica (e.g. ontologias) na Educação. Computação afetiva em sistemas educacionais.

 

Domótica: Introdução a domótica; Controle de dispositivos; Controle via câmeras; Alarme e notificação; Gerenciamento; Projeto de redes; Estudo de caso.

 

Fundamentos de geração e aquisição de imagens: Transformação de intensidade e filtragem espacial. Filtragem no domínio da frequência. Restauração e reconstrução de imagens. Processamento de cores. Morfologia. Segmentação. Representação. Reconhecimento.

 

Linhas de produtos de software: Reuso de Software; Introdução a Linhas de Produtos de Software (LPS); Benefícios de LPS; Abordagens no Desenvolvimento de LPS; Técnicas Básicas e Avançadas de Implementação de Variabilidade em LPS; Mecanismos de Variabilidade Baseados em Linguagens; Mecanismos de Variabilidade Baseados em Ferramentas; Ferramentas de Apoio à Implementação de LPS.

 

Navegação de robôs: Algoritmos de navegação simplificados; Campos de Potencial; Busca em Grafos; Mapas de Rotas; Decomposição em Células; Mapas de Rotas Probabilísticos; Filtros de Kalman; Métodos Bayesianos

 

Ontologias: Epistemologia; Representação de Conhecimento; Ontologias: Visão Filosófica e Computacional; Linguagens; Engenharia de Ontologias; Padrões Ontológicos. Linked Data; Web Semântica

 

Técnicas de otimização bioinsipiradas: Princípios de otimização e computação natural. Técnicas evolucionárias (algoritmos genéticos e programação genética). Otimização baseada em enxame de partículas. Otimização baseada em colônia de formigas e em cardume. Princípios de otimização multiobjetivo. Técnicas Multiobjetivo e funções de benchmark. Aplicação das técnicas nas áreas de pesquisa dos alunos.

 

Testes de software: Introdução a Testes de Software. Teste de Unidade. Teste de Integração. Teste de Sistema. Teste de Aceitação. Teste de GUI. Teste de Regressão. Teste Funcional. Cobertura de Testes. Testes de Mutação. Bug Reports. Geração Automática de Testes. Testes Caixa Branca e Caixa Preta. Testes no Android.

 

Tópicos Especiais em Computação Visual e Inteligente

 

Aprendizagem profunda: Conceitos básicos de aprendizagem supervisionada; Classificador perceptron; Método do Gradiente Estocástico; Perceptron multicamadas e o algoritmo de retro-propagação; Processamento de Imagens por convolução; Redes Neurais Convolucionais; Autoencoders; Redes Neurais Recorrentes.

 

Computação baseada em serviços e agentes: Computação Orientada a Serviços; Infraestrutura para a execução de serviços; Computação em Nuvem; Agentes Autônomos Inteligentes; Tomada de Decisão baseada em Agentes; Programação Orientada a Agentes; Agentes orientados a Serviços.

 

Experimentando e comparando técnicas inteligentes: Visão Geral sobre Experimentos; Conceitos Básicos de Estatística; Técnicas de Aprendizagem de Máquina; Técnicas de Computação Evolucionária; Estratégias Empíricas; Procedimentos para realização de Experimentos.

 

Metodologia científica aplicada à computação: A ciência e o método científico. A ciência e a Ciência da Computação. Conceitos e técnicas para preparação de projetos de pesquisa. Conceitos e técnicas para proceder à revisão bibliográfica e a escrita de artigos científicos. Técnicas de análise e apresentação de dados.

 

Mineração de texto: Visão geral de mineração de texto e de processamento de linguagem natural. Mineração de associação de palavras. Agrupamento e categorização de textos. Mineração de opiniões e análise de sentimentos. Sumarização automática de texto. Outros tópicos de mineração de texto.

 

Sistemas multi-agentes: Agentes Autônomos Inteligentes; Comunicação e Cooperação entre Agentes; Tomada de Decisão Multi-Agentes; Metodologias para Desenvolvimento de Sistemas Multi-Agentes; Programação Orientada a Agentes; Aplicações de Sistemas Multi-Agentes.