Disciplinas e ementas
Disciplinas obrigatórias
Pesquisa em Computação Aplicada
Ementa: Apresentação do curso e seu regimento interno. Apresentação do corpo docente. Metodologia científica. Desenvolvimento de pesquisa. Pesquisa aplicada e inovação. Escrita científica (projeto, artigo e dissertação). Definição dos objetivos de pesquisa. Revisão bibliográfica sistemática. Metodologia de pesquisa. Desenho de experimentos. Análise e apresentação dos resultados (artigos, dissertação, apresentação de seminários etc.). Ética em pesquisa.
Teoria da Computação
Ementa: Fundamentos matemáticos da computação; modelos de computação e linguagens formais; autômatos finitos e linguagens regulares; autômatos de pilha e linguagens livres de contexto; máquinas de Turing e computabilidade; tese de Church-Turing; problemas decidíveis e indecidíveis; redutibilidade e completude; introdução à teoria da complexidade computacional; classes de complexidade P e NP; problemas NP-completos; reduções polinomiais; teorema de Cook-Levin; exemplos clássicos de problemas NP-completos; complexidade de espaço; hierarquias de complexidade.
Dissertação II
Ementa: Orientação de dissertação através de avaliação de relatórios de resultados, apresentação em seminário, escrita de artigos e reuniões de acompanhamento de trabalhos.
Disciplinas optativas
Dissertação I
Ementa: Orientação de dissertação através de avaliação de relatórios de resultados, apresentação em seminário, escrita de artigos e reuniões de acompanhamento de trabalhos.
Estágio Docente
Ementa: Estágio docente conforme orientação do professor da disciplina.
Projeto de Extensão
Ementa:
Participação em projeto de extensão conforme orientação do professor da disciplina.
Tecnologia, Ética e Transformação Social
Ementa:
Fundamentos filosóficos da tecnologia e inteligência artificial; teorias éticas aplicadas à tecnologia; vieses algorítmicos e discriminação automatizada; privacidade, vigilância e direitos digitais; transparência, explicabilidade e accountability em sistemas de IA; impactos sociais e econômicos da automação; ética em machine learning e big data; regulamentação e governança de IA; questões de gênero, raça e classe na tecnologia; futuro do trabalho e desigualdades digitais; responsabilidade social corporativa em tecnologia; casos práticos e dilemas éticos contemporâneos; metodologias para avaliação ética de sistemas tecnológicos.
Inteligência Artificial
Ementa:
Definição de IA; fundamentos científicos e histórico da área; agentes inteligentes; métodos de busca e heurísticas; busca adversária; problemas de satisfação de restrição; agentes lógicos; lógica de primeira ordem e inferência; planejamento clássico; representação de conhecimento; raciocínio probabilístico e temporal; tomada de decisão; aprendizado por exemplos e modelos probabilísticos; redes neurais artificiais; aprendizagem por reforço; aprendizado de máquina; processamento de linguagem natural; percepção; robótica; IA e o futuro.
Processamento de Imagens
Ementa:
Fundamentos de processamento de imagens; áreas de aplicação; formação de imagens e atributos de imagens digitais; filtros 2D; amostragem e quantização; técnicas de melhoramento; segmentação; representação e descrição; operações lógicas e aritméticas entre imagens; transformada de Fourier; filtragem no domínio espacial e da frequência.
Visão Computacional
Ementa:
Introdução à visão computacional; processos envolvidos; detecção e reconhecimento de objetos; análise e classificação de movimentos; rastreamento de objetos; classificação e representação de imagens; extração de características e descritores; aplicações.
Aprendizado Profundo para Reconhecimento Visual
Ementa:
Introdução à visão computacional; conceitos fundamentais, aplicações e contexto histórico; classificação de imagens com métodos baseados em k-vizinhos e classificadores lineares; regularização e otimização; redes neurais artificiais (MLP); redes neurais convolucionais (ConvNets); detecção de objetos; segmentação semântica.
Reconhecimento de Padrões
Ementa:
Fundamentos teóricos do reconhecimento de padrões e classificação; modelos estatísticos e teoria da decisão bayesiana; medidas de similaridade e separabilidade de classes; extração, seleção e projeção de características; redução de dimensionalidade (LDA, PCA); métodos de agrupamento (k-means, clustering hierárquico); análise de forma, textura e distribuição de dados; avaliação e visualização de estruturas em espaços de características; aplicações em biometria, OCR e classificação de sinais; ética, viés algorítmico e interpretabilidade.
Aprendizado de Máquina
Ementa:
Fundamentos e paradigmas do aprendizado de máquina (supervisionado, não supervisionado e por reforço); modelos lineares e não lineares (regressão, SVM, árvores, ensembles); algoritmos de agrupamento (k-means, DBSCAN, hierárquico); redução de dimensionalidade (PCA, t-SNE, UMAP); avaliação e validação de modelos; seleção de atributos e engenharia de características; pipeline de machine learning; introdução ao aprendizado profundo; aplicações em ciência de dados, visão computacional e processamento de linguagem natural.
Redes Neurais Artificiais
Ementa:
Fundamentos das redes neurais artificiais; modelos de neurônios; arquiteturas clássicas e modernas (Perceptron, MLP, RBF, RNN, LSTM, GRU, CNN, autoencoders, transformadores); funções de ativação, critérios de erro e métodos de treinamento; aprendizado supervisionado, não supervisionado e por reforço; regularização e otimização; uso de frameworks como TensorFlow e PyTorch; aplicações em classificação, regressão, reconhecimento de padrões e séries temporais; considerações éticas e interpretabilidade.
Análise de Séries Temporais
Ementa:
Fundamentos de séries temporais e processos estocásticos; análise exploratória e visualização; modelos clássicos como ARIMA; uso de machine learning e deep learning (RNN, LSTM, GRU, CNN, Transformers); modelos híbridos e ensemble; previsão multivariada; regularização e otimização; AutoML; modelos pré-treinados e transfer learning; avaliação de modelos; aplicações práticas com TensorFlow/Keras e PyTorch; aplicações em finanças, IoT e ciência de dados.
Processamento de Linguagem Natural
Ementa:
Fundamentos de PLN e sua importância; conceitos de linguística computacional; pré-processamento de texto (tokenização, stopwords, stemming, lematização); representação de texto (Bag-of-Words, TF-IDF, embeddings); modelos de linguagem; introdução ao aprendizado de máquina aplicado ao PLN; fundamentos de redes neurais profundas; aplicações práticas com ferramentas como Spacy, NLTK, Keras e PyTorch.
Processamento de Linguagem Natural com Redes Neurais Profundas
Ementa:
Representação vetorial de textos (embeddings); redes neurais recorrentes (RNNs); fundamentos de modelos de linguagem; arquitetura Transformers; classificação automática de texto; reconhecimento de entidades nomeadas; recuperação de informação; introdução a LLMs; implementações práticas com bibliotecas como PyTorch, Keras, TensorFlow, Spacy, NLTK e Transformers.
Ciência de Dados
Ementa:
Conceitos de ciência de dados; processos de ETL; mineração de dados e descoberta de conhecimento; análise exploratória; aplicação de algoritmos de aprendizado de máquina; conceitos de Big Data; visualização de dados; fundamentos de Business Intelligence, Data Warehouse e Data Marts; cubos e dados históricos; aplicações em sistemas de recomendação.
Sistemas Complexos
Ementa:
Introdução a sistemas complexos; teoria dos grafos; representação por redes complexas; modelos de redes (Erdos-Renyi, Watts-Strogatz, Barabasi-Albert); seis graus de separação; medidas de centralidade; hubs e crescimento de redes; robustez, modularidade e motifs; aplicações em internet, redes sociais, biológicas e socioeconômicas; visualização de redes.
Matemática Computacional para Problemas de Otimização
Ementa:
Recorrência; algoritmos em grafos (busca, árvore geradora mínima, roteamento); modelagem com programação linear e programação linear inteira; heurísticas; estudo e implementação de métodos de matemática computacional aplicados a problemas atuais.
Métodos Heurísticos
Ementa:
Técnicas para otimização combinatória; heurísticas clássicas e metaheurísticas; recozimento simulado, busca tabu, busca local iterativa, busca em vizinhança variável, GRASP, algoritmos genéticos, colônia de formigas; aplicações em problemas como caixeiro viajante, mochila, roteamento de veículos, alocação, sequenciamento, localização e empacotamento.
Modelagem Conceitual
Ementa:
Modelagem conceitual; ontologias de referência e operacionais; níveis de generalidade; fundamentação ontológica; categorias e propriedades dos tipos de objetos; modelagem de ontologias; linguagens de representação; padrões ontológicos; validação e transformação de ontologias.
Engenharia de Ontologias
Ementa:
Definições, tipos e aplicações de ontologias; métodos de engenharia de ontologias; linguagens de representação e implementação; definição de escopo e requisitos; modelagem conceitual, design e implementação; reutilização, integração, transformação e aplicação de ontologias.
Verificação de Sistemas e Software
Ementa:
Fundamentos da verificação formal; métodos formais para especificação e verificação; lógicas temporais; model checking; sistemas de transição; linguagens de especificação; TLA+; sistemas concorrentes e distribuídos; abstração e refinamento; verificação de propriedades (segurança, vivacidade, justiça); ferramentas de verificação; estudos de caso e desafios.
Avaliação de Desempenho de Sistemas Computacionais
Ementa:
Métodos de avaliação de desempenho; distribuição de tempos de serviço; técnicas e ferramentas de medição; relação entre medidas e desempenho; processos estocásticos; cadeias de Markov; parâmetros e métricas de filas; modelos clássicos de filas; filas com prioridade; redes de filas; estudos de caso.
Redes de Computadores
Revisão dos fundamentos de redes de computadores; modelos de referência OSI e TCP/IP; protocolos das camadas de aplicação, transporte, rede, enlace e física; programação de aplicações de rede utilizando sockets. Redes Definidas por Software (SDN): arquitetura, plano de controle, plano de dados, controladores e aplicações. Virtualização e emulação de redes. Testes e automação em redes: geração e análise de tráfego, monitoramento e avaliação de desempenho. Discussão sobre tendências modernas em redes de computadores, tais como redes de datacenter, computação em nuvem, Internet das Coisas, programabilidade do plano de dados, cibersegurança e inteligência artificial.
Redes Definidas por Software
Definição de Redes Definidas por Software. A separação dos planos de controle e encaminhamento (ou dados). Arquitetura e Protocolo OpenFlow. Arquitetura PISA e Linguagem P4. Outras arquiteturas e protocolos para Redes Definidas por Software. Plataformas de controle de Redes Definidas por Software. Ferramentas para emulação e switches virtuais para Redes Definidas por software. Implementação de uma Rede Definida por Software.
Internet das Coisas
Caracterização da Internet das Coisas (IoT). Dispositivos para IoT. Sistemas embarcados e sensoriamento remoto. Gateways para IoT. Middlewares para IoT. Tecnologias de rede sem fio e protocolos para comunicação em IoT. Armazenamento e processamento de dados gerados pela IoT (correlação com Big Data). Plataformas distribuídas de processamento de dados para IoT. Experimentação em IoT. Aplicações em Cidades Inteligentes.
Computação em Nuvem
Definições e taxonomia. Virtualização: servidores, desktops e funções de rede. Redes Virtuais: túneis GRE e VxLAN. White box vs black box: bare metal switches e sistemas operacionais para funções de redes (ONIE, Open vSwitch e PicaOS). Armazenamento: storage e sistemas de armazenamento em nuvem. Orquestradores de Nuvens Privadas. Instalação e configuração de um orquestrador de infraestrutura (OpenStack). Nuvens públicas: configuração de um ambiente público (AWS ou Azure).
Blockchains e Contratos Inteligentes
Fundamentos de sistemas distribuídos e criptografia aplicada; tecnologia blockchain e arquiteturas descentralizadas; criptomoedas e protocolos de consenso; Bitcoin: funcionamento, transações e mineração; Ethereum e máquinas virtuais descentralizadas; contratos inteligentes e linguagens de programação para blockchain; desenvolvimento de aplicações descentralizadas (DApps); finanças descentralizadas (DeFi) e tokens; protocolos de consenso: Proof of Work, Proof of Stake e variações; escalabilidade e soluções de segunda camada; aspectos econômicos e regulatórios; segurança em blockchain e auditoria de contratos; aplicações práticas e estudos de caso.
Paradigmas Funcionais
Fundamentos da programação funcional; cálculo lambda e fundamentos teóricos; linguagens funcionais puras e impuras; sistemas de tipos e inferência de tipos; funções de alta ordem e composição funcional; recursão e indução estrutural; estruturas de dados funcionais e imutáveis; avaliação preguiçosa e estrita; mônadas e programação monádica; programação orientada a objetos funcional; técnicas de modelagem funcional de problemas; programação funcional reativa; paralelismo e concorrência em Scala; aplicações práticas da programação funcional; comparação entre paradigmas funcionais e imperativos.
Tópicos Especiais em Inteligência Artificial I
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Inteligência Artificial II
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Inteligência Artificial III
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Inteligência Artificial IV
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Redes I
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Redes II
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Redes III
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.
Tópicos Especiais em Redes IV
Disciplina de conteúdo variável, que visa apresentar novos tópicos de pesquisa na área de Inteligência Artificial e/ou atender aos interesses específicos das linhas de pesquisa do Programa.