Mestrado Profissional

 

1. Disciplinas obrigatórias

 

Algoritmos e Estruturas de Dados (2 créditos, 30 horas)

Ementa: Introdução ao conceito de algoritmo: notação; tipos de dados e operações primitivas. Estruturas de controle do fluxo de informação. Funções e procedimentos. Recursividade. Implementação de algoritmos. Introdução à análise de algoritmos. Complexidade computacional. Estruturas de dados: listas, pilhas, filas, hashing, árvores. Algoritmos de ordenação. Algoritmos de busca.

 

Análise e Projeto de Sistemas (3 créditos, 45 horas)        

Ementa: Métodos, técnicas e ferramentas de análise e projeto de sistemas. Modelagem orientada a objetos para análise e projeto de sistemas. Padrões e anti-padrões de Software. Descrição e discussão dos 23 padrões do GoF (Criacionais, Estruturas e Comportamentais).

 

Engenharia de Software (2 créditos, 30 horas)

Ementa: Conceitos fundamentais da Engenharia de Software. Crise do Software. Ciclo de vida do Software. Processos de Software. Gerenciamento de projeto de Software. Análise e especificação de requisitos. Análise e projeto de Software. Gerenciamento de versões e configurações. Verificação e validação. Manutenção.

 

Fundamentos da Computação (2 créditos, 30 horas)

Ementa: Formalismos para descrição de linguagens: gramáticas e autômatos. Linguagens regulares, linguagens livres de contexto, linguagens enumeráveis recursivamente, sensíveis ao contexto. Máquinas Universais. Máquinas de Turing. Computabilidade. Análise assintótica. Técnicas de projeto de algoritmos. Classes de problemas: P, NP, NP-difícil e NP-completo.

 

Metodologia de Pesquisa (2 créditos, 30 horas)

Ementa: Conceitos fundamentais de pesquisa (o que é pesquisa? Por que fazer pesquisa? Por que elaborar um projeto de pesquisa?). Ética e pesquisa. Método e eficiência nos estudos e na realização de um projeto de pesquisa. Planejar: prever prazos, organizar tempo, providenciar o necessário, quantificar esforços, respeitar compromissos. Leitura: pré-leitura; leitura analítica / crítica; resumo: regras de redução de informação. Projeto de Pesquisa: estrutura, escolha do tema/tese, estabelecimento dos objetivos, formulação do problema, construção de hipóteses, classificação da pesquisa, definição do(s) método(s) de pesquisa, coleta de dados, organização das informações, análise dos dados, resultados, cronograma e orçamento. Redação de um trabalho técnico (projeto de pesquisa, qualificação e dissertação). Normas de citações e referências bibliográficas (ABNT).

 

Programação de Computadores (3 créditos, 45 horas)

Ementa: Paradigmas de programação orientada a objetos. Desenvolvimento de programas utilizando uma linguagem orientada a objetos. Introdução ao desenvolvimento de Interfaces gráficas. Interação com banco de dados.

 

Projeto e Implementação de Banco de Dados (2 créditos, 30 horas)

Ementa: Modelagem de dados e SQL. Engenharia reversa e normalização. Projeto para banco de dados relacionais utilizando ferramentas CASE. SQL Avançada: subquerys, funções de agregação, cláusula CASE, views, stored procedures, triggers. Recuperação de falhas em SGBD. Banco de dados distribuídos. Processamento e otimização de consultas. Controle de concorrências.

 

Sistemas Operacionais, Arquitetura e Redes de Computadores (2 créditos, 30 horas)

Ementa: Revisão dos conceitos essenciais de arquitetura de computadores, como barramentos, memória interna e externa, dispositivos de entrada e saída, UCP, ULA, arquiteturas RISC e CISC, endereçamento, conjunto de instruções e arquiteturas paralelas. Revisão dos conceitos essenciais de sistemas operacionais, como processos, gerenciamento de memória e entrada e saída, sistemas de arquivos. Revisão dos conceitos essenciais de redes, como o modelo OSI, modelo TCP/IP e detalhes de cada uma das camadas de ambos os modelos, com ênfase em protocolos de cada uma das camadas, além de endereçamento lógico IPv4 e IPv6.

 

2. Disciplinas eletivas

           

Controle Digital (2 créditos, 30 horas)

Ementa: Amostragem de sinais; teorema da amostragem. Representação de sinais e sistemas de tempo discreto. Noções de controle por realimentação. Especificações de desempenho Controladores PID. Projeto de controladores usando lugar geométrico das raízes. Controle por realimentação de estados. Estimação de estados. Noções de controle ótimo e regulação quadrática.

 

Data Mining e Big Data (2 créditos, 30 horas)

Ementa: Introdução aos conceitos do processo de descoberta de conhecimento. Técnicas de preparação de dados. Técnicas de redução de dados. Tarefas e técnicas de mineração de dados: classificação, regressão, detecção de agrupamentos, descoberta de regras de associação, sumarização, modelagem de dependências, detecção de tendências e exceções. Conceitos e técnicas de visualização de dados. Mineração de dados visuais. Exemplos de mineração de dados em domínios específicos, tais como: bioinformática, sistemas de informação geográfica, bases de dados de imagens, bases de dados de documentos textuais, bases de dados multimídia, sistemas Web, bases de dados espaço temporais, sistemas baseados em data streams. Ferramentas de mineração de dados. Mineração de Dados na WEB, dados estruturados, não-estruturados e desestruturados, Redução de dimensão, memória associativa (hashing), big data, mapreduce, mineração de itens frequentes, fluxo de dados, análise de sentimentos, sistemas de recomendação, page rank, agrupamento, co-agrupamento.

 

Eletrônica Aplicada à Sistemas (2 créditos, 30 horas)

Ementa: Dispositivos eletrônicos. Circuitos de múltiplos estágios. Sistemas digitais: circuitos lógicos; circuitos integrados; circuitos especiais; interface analógico-digital; análise e projeto de circuitos. Elementos da instrumentação eletrônica; geradores e analisadores de sinais; aquisição e processamento digital dos sinais.

 

Engenharia de Requisitos de Software (2 créditos, 30 horas)

Ementa: Requisitos de Software: conceitos. Análise de requisitos. Técnicas de levantamento de requisitos. Especificação de requisitos. Modelagem dos requisitos do Software. Modelagem de dados. Processos de gerência de requisitos. Histórias de usuários em extreme programming. O uso do método Design Thinking.

 

Gestão de Software (2 créditos, 30 horas)

Ementa: Estudo de viabilidade. Métricas. Estimativas. Gestão de riscos. Técnicas para determinação do cronograma do projeto. Planejamento de projeto. Aspectos humanos. Gestão de pessoas e recursos. Mecanismos de rastreamento e controle. Trabalho em equipe. Gestão ágil de projetos.

 

Identificação de Sistemas (2 créditos, 30 horas)

Ementa: Noções de regressão linear; interpolação e extrapolação. Estimação de mínimos quadrados; algoritmos práticos, PLS e PCA. Modelagem de sinais; noções sobre séries ortogonais e wavelets. Modelos dinâmicos – modelagem física e modelagem estocástica. Identificação de modelos AR, ARX e ARMAX; estimadores não polarizados. Considerações práticas em projetos de identificação dinâmica. Estimação recursiva modelos dinâmicos não-lineares; introdução a estruturas polinomiais e redes neurais.

 

Inteligência Artificial (2 créditos, 30 horas)

Ementa: Redes neurais: definição e características. Histórico, conceitos básicos e aplicações. Neurônio artificial. Estruturas de interconexão. Processamento neural - aprendizado e recuperação dos dados. Tipos de aprendizado - Supervisionado e Não-Supervisionado. Regras de aprendizado - algoritmos neurais. Componentes de um Algoritmo Genético (AG); Desenvolvimento de AGs; reprodução e seleção. Outras técnicas e operadores; problemas de otimização combinatorial, colorir grafo, produção industrial. Lógica Fuzzy: introdução. Conjuntos Fuzzy. Relações e composições Fuzzy. Sistemas Fuzzy. Controle baseado em regras linguísticas.

 

Interação Homem-Computador, Usabilidade e User Experience (2 créditos, 30 horas)

Ementa: Fatores humanos e ergonomia em Software interativo: teoria, princípios e regras. Usabilidade: definição e métodos para avaliação. Paradigmas de design de sistemas e interfaces: concepção participativa, user centered design. Desenvolvimento de interfaces gráficas. Padrões de desenvolvimento de interface.

 

Programação Paralela (2 créditos, 30 horas)

Ementa: Conceitos, comandos e algoritmos. Estudo de uma linguagem para programação paralela. Aplicações de técnicas de programação em Engenharia, como o uso de solvers paralelos em sistemas de equações densos e esparsos provenientes dessa área.

 

Programação Web e Dispositivos Móveis (2 créditos, 30 horas)

Ementa: Programação para a web com Servlets, JSP e JSF. Desenvolvimento de sistemas estruturado segundo o padrão MVC (Model-View-Controller). Visão geral das tecnologias móveis e sem fio. APIs de programação para dispositivos móveis e sem fio. Utilização de uma plataforma de programação para dispositivos móveis. Integração entre dispositivos móveis e a internet. Persistência de dados.

 

Projeto e Arquitetura de Software (2 créditos, 30 horas)

Ementa: O processo de análise de requisitos; levantamento e especificação de requisitos para arquitetura de Software; estilos arquiteturais; padrões de projetos de Software; atributos de qualidade; documentação de arquitetura.

 

Qualidade e Melhoria de Processo de Software (2 créditos, 30 horas)

Ementa: Processos: conceitos de processo de desenvolvimento de Software: fases, fluxos de trabalho, iterações e incrementos, papéis, artefatos e atividades. Conceitos e aplicação dos principais processos de Software: cascata; prototipação; evolucionário; iterativo e incremental; processo unificado; métodos ágeis: XP, Scrum, Lean Software Development, Crystal Clear; modelagem e execução de processos de Software; tecnologia do processo de Software; definição do processo de Software. Qualidade: o que é qualidade de Software, qualidade de produto de Software, qualidade de processo de Software, conceitos básicos (características de qualidade, erro, falha, defeito), normas e organismos normativos. Qualidade do processo de Software: normas ISO 9000, ISO/IEC 12207, ISO/IEC 15504,CMMI, MPS.BR. Qualidade do produto de Software: modelo de qualidade de produto, medindo a qualidade de produtos de Software, as normas ISO/IEC 9126 e 14598, ISO/IEC 25000. MPS: modelo IDEAL; modelagem de processos visando melhoria de maturidade em organizações; modelagem de processo de desenvolvimento integrado considerando modelos de maturidade.

 

Redes de Sensores (2 créditos, 30 horas)

Ementa: Introdução a redes de sensores. Redes de sensores sem fio. Arquitetura de nós sensores MAC. Roteamento e disseminação. Agrupamento de nós. Estudo de sistemas embutidos de baixo consumo. Caracterização de RSSFs. Modelos para representação de estados. Arquitetura de comunicação sem fio. Controle e supervisão de sistemas embutidos. Aplicações. Processamento de consultas. Agregação de dados. Localização, sincronização, controle de potência e economia de energia. Camadas de transporte. QoS. Segurança.

 

Robôs Móveis Autônomos (2 créditos, 30 horas)

Ementa: Histórico e técnicas de navegação de robôs móveis mais utilizadas na literatura; componentes e subsistemas de robôs móveis autônomos, incluindo microprocessadores, sensores e atuadores; introdução aos conceitos de controle de navegação em robôs móveis: auto-localização, planejamento de trajetórias e navegação robótica; principais técnicas para obtenção de autonomia, inteligência e adaptabilidade; aplicações em tarefas de exploração, navegação, coleta de objetos e planejamento de estratégias; algoritmos de controle inteligentes aplicados à robótica móvel.

 

Sistemas Baseados em Conhecimento (2 créditos, 30 horas)

Ementa: Introdução a sistemas baseados em conhecimento. Engenharia e elicitação do conhecimento. Técnicas de representação do conhecimento. Sistemas especialistas. Raciocínio baseado em casos. Outras abordagens. Estudos de casos.

 

Sistemas Colaborativos e CSCW (2 créditos, 30 horas)

Ementa: Fundamentos sobre sistemas colaborativos (Groupware, CSCW, teorias e modelos de colaboração). Desenvolvimento de sistemas colaborativos. Aplicação de sistemas colaborativos em ambientes organizacionais (sociedade, empresas, escolas, etc). Sistemas colaborativos aplicados ao desenvolvimento de Software. Avaliação de sistemas colaborativos. Desenvolvimento distribuído de Software. Abordagens para a engenharia de Software colaborativa: estudos empíricos, ferramentas e metodologias.

 

Sistemas Operacionais Embarcados (2 créditos, 30 horas)

Ementa: Sistemas operacionais de tempo real; sistemas operacionais embarcados: projeto e implementação; escalonamento; atividades de laboratório.

 

Testes de Software (2 créditos, 30 horas)

Ementa: Gerenciamento do processo de testes. Registro e acompanhamento de problemas. Testes de Software. Princípios e técnicas de testes de Software: teste de unidade; teste de integração; teste de regressão. Desenvolvimento orientado a testes; automação dos testes; geração de casos de teste. Teste de interfaces humanas; teste de aplicações para a WEB; testes alfa, beta e de aceitação; ferramentas de testes; planos de testes e estudos de casos. Ciclo de vida de testes: planejamento, especificação, execução e reporte.

 

Tópicos em Computação Aplicada (2 créditos, 30 horas)

Ementa: Disciplina de ementa livre na qual o aluno realiza um trabalho de pesquisa individual sob a supervisão do professor orientador, efetuando um estudo teórico ou teórico-prático de abrangência e/ou na área da sua dissertação de Mestrado.

 

Tópicos Especiais em Sistemas Operacionais (2 créditos, 30 horas)

Ementa: Estado da arte de sistemas operacionais, com ênfase nos sistemas operacionais que lidam com os detalhes dos processadores modernos, como os mais diversos aspectos de paralelismo, incluindo o acesso aos distintos níveis de cache. Detalhes do funcionamento de sistemas operacionais para sistemas distribuídos, com ênfase no modelo cliente servidor, incluindo simulação com sistemas operacionais paralelos.