Universidade do Minho  

       
 
  Autenticação/Login
 
Homepage
Contactos
Mapa do Site
   
  imprimir
 


 
Plano de estudos
- Matemática e Ciências da Computação

* S1 - 1º Semestre 
  S2 - 2º Semestre 
    A - Anual


Observações: 
- as quatro Opções de Informática devem ser escolhidas em bloco de forma a constituírem um Perfil de Especialização, os quais fazem parte do leque de Perfis de Especialização oferecidos pelo Departamento de Informática no âmbito dos Mestrados de Informática e de Engenharia Informática;
- uma das unidades curriculares do elenco da Opção 1, Opção 2 ou Opção 3 poderá, de acordo com o diretor de curso, ser escolhida entre todas as unidades curriculares de um curso de 1.º ou 2.º ciclo da UMinho.

Unidades Curriculares Obrigatórias

Lógica da Programação
Teoria de Números Computacional
Complexidade
Projeto Integrado
Estágio/Dissertação

Programas resumidos

Complexidade
Classes P, NP, PSPACE, LOG e NLOG. Reduções e problemas completos. Classes de complexidade para computação paralela. Classes de complexidade para computação probabilística. Problemas demonstravelmente intratáveis. 

Lógica da Programação
Lógica construtiva. Lambda-calculus com tipos simples. Princípio proposições-como-tipos. Tipos dependentes. Polimorfismo. Cálculo das Construções. Tipos indutivos. Introdução aos sistemas de demonstração assistida.

Teoria de Números Computacional
Aspectos da teoria dos números sobre os quais assentam as técnicas criptográficas modernas; elementos da teoria dos números, congruências, estruturas algébricas finitas, teoria dos números algébricos. Problemas difíceis que servem como base ao estabelecimento de níveis mínimos de segurança e definição de tamanhos de chaves criptográficas: factorização, logaritmo discreto e outros. Curvas Elípticas.

Projeto Integrado
Esta UC insere-se na área científica das Ciências da Computação.
Com esta UC pretende-se que os alunos adquiram competências no desenvolvimento de projetos com alguma dimensão, planeamento de projetos e trabalho em equipa.
 

Estágio/Dissertação
No caso de estágio, os estudantes devem realizar trabalho sobre problemas relevantes para o mercado de trabalho e alinhados com os objetivos do curso, sempre que possível em contexto empresarial, sob orientação de especialistas da universidade e das empresas.
No caso de dissertação, os estudantes devem realizar trabalho de investigação com vista à apresentação de uma dissertação original na área da matemática e computação sob orientação de um ou mais professores especialistas no tema em questão.


Unidades Curriculares Opcionais

Opções 1, 2, 3 e 4 (a título exemplificativo)

Álgebra Linear Numérica 
Algoritmos Numéricos e Computação Paralela 
Complementos de Análise Complexa 
Complementos de Análise Numérica 
Computabilidade 
Estatística Computacional 
Introdução aos Algoritmos e à Programação 
Geometria Computacional 
Métodos Numéricos para Equações Diferenciais 
Processamento de Sinal e Ôndulas 
Semigrupos, Autómatos e Linguagens 
Sistemas Matemáticos Computacionais 
Teoria da Aproximação 
Teoria de Categorias 
Teoria de Códigos 
Teoria de Grafos Computacional

Opções de Informática 1, 2, 3 e 4, constituindo um Perfil de Especialização em Informática/Engenharia Informática (a título exemplificativo)

Ciência de Dados
       Aprendizagem Automática I
       Aprendizagem Automática II
       Gestão de Grandes Conjuntos de Dados
       Computação Avançada

Criptografia e Segurança da Informação 
       Tecnologia Criptográfica
       Tecnologia da Segurança
       Estruturas Criptográficas
       Engenharia de Segurança

Machine Learning: Fundamentos e Aplicações
       Métricas em Machine Learning
       Sistemas Baseados em Similaridade
       Otimização em Machine Learning
       Classificadores e Sistemas Conexionistas

Métodos Formais em Engenharia de Software
 
       Especificação e Modelação
       Cálculo de Sistemas de Informação
       Arquitectura e Cálculo
       Verificação Formal 

Programas resumidos 

Álgebra Linear Numérica
Sistemas de equações lineares: factorizações LU, Cholesky, QR e SVD; métodos iterativos; método dos gradientes conjugados; pré-condicionamento; sistemas sobredeterminados e mínimos quadrados. Valores e vectores próprios: métodos da potência e potência inversa; método QR; método de Lanczos. Valores singulares (decomposição).
[^] 
Algoritmos Numéricos e Computação Paralela
Noções básicas da computação paralela. Sistemas de memória distribuída e sistemas de memória partilhada. O modelo ?message-passing?. Algoritmos paralelos para a multiplicação de matrizes e decomposições LU, de Cholesky e QR. Métodos paralelos da bissecção, de Jacobi, QR e de Lanczos para o cálculo de valores próprios de matrizes simétricas. Apresentação das ?packages? BLAS, LAPACK, SCALAPACK e ARPACK.
Complementos de Análise Complexa
Transformações conformes: transformações de M?obius e transformações de Schwarz-Christoffel; aplicações a problemas de condução de calor, electroestática e mecânica de fluidos; utilização de packages de transformação conforme numérica. Funções harmónicas e aplicação à dinâmica de fluidos.
Complementos de Análise Numérica
Interpolação de Hermite e funções spline. Polinómios ortogonais. Quadratura Gaussiana. Aproximação uniforme e de mínimos quadrados. Equações diferenciais ordinárias: problemas de valores de fronteira (introdução ao estudo de métodos de diferenças finitas e de elementos finitos).
Computabilidade
Máquinas de Turing e funções computáveis. Funções parciais recursivas. Tese de Church. Decidibilidade e semi-decidibilidade. Conjuntos recursivos e conjuntos recursivamente enumeráveis
Estatística Computacional
Introdução: Definições, exemplos de simulação, terminologia e metodologias. Validação de modelos de simulação. Método de Monte Carlo: Geração de variáveis aleatórias discretas e contínuas por transformação de números aleatórios. Aplicação a distribuições específicas. Método de Monte Carlo em Inferência Estatística. Técnicas de redução de variância. O bootstrap computacional. Métodos de Monte Carlo via Cadeias de Markov (MCMC): Conceitos básicos de cadeias de Markov e de Inferência Bayesiana. Amostragem de Gibbs, Algoritmo de Metropolis, Algoritmo de Metropolis-Hastings. Diagnósticos de convergência. Filas de espera de tipo markoviano e relacionadas. Ordenação estocástica: aplicações a filas de espera. Redes de Jackson e redes de Whittle.
Geometria Computacional
Problema da intersecção de segmentos de recta. Plane sweep algoritmos. Triangulação de polígonos. Teorema da galeria de arte. Algoritmos de Programação Linear. Pesquisa ortogonal. Localização de pontos. Diagramas de Voronoi. Arranjamentos de linhas. Triangulações de Delaunay. Estruturas geometricas de dados.
Introdução aos Algoritmos e à Programação
Programa resumido: Metodologias de desenvolvimento de software. Tipos e Estruturas de Dados. Algoritmos e programação. Programação em Java.
Métodos Numéricos para Equações Diferenciais
Equações diferenciais ordinárias: problemas de valores iniciais e problemas de valores de fronteira. Equações de derivadas parciais: métodos de diferenças finitas; consistência, estabilidade e convergência.
Processamento de Sinal e Ôndulas
Sinais digitais e sistemas digitais. Transformada Z e transformada de Fourier. Transformadas discretas (DFT, FFT). Filtros digitais (filtros FIR, bancos de filtros QMF). Análise de multi-resolução e ôndulas ortogonais (estudo detalhado da AMR de Haar como modelo elementar); ôndulas de suporte compacto de Daubechies; transformadas rápidas com ôndulas, sua ligação com bancos de filtros e aplicações em processamento de sinal e imagem (supressão de ruído, compressão de imagem).
Semigrupos, Autómatos e Linguagens
Semigrupos. Homomorfismos de semigrupos. Relações de Green sobre um semigrupo. Linguagens sobre um alfabeto. Autómatos. Reconhecimento de linguagens por autómatos e por semigrupos. Teorema de Kleene. Variedades de semigrupos. Pseudovariedades de semigrupos. Variedades de linguagens. Teorema de Eilenberg.
Sistemas Matemáticos Computacionais
Estudo de algum software de carácter simbólico-algébrico, numérico, gráfico e estatístico (por exemplo Mathematica, MATLAB e R). Utilização deste software na resolução de diversos problemas da área da Matemática Computacional, por exemplo, álgebra Linear Numérica, Equações Diferenciais e Estatística.
Teoria da Aproximação
O problema da melhor aproximação num espaço vectorial normado. Condições de existência e unicidade de melhor aproximação. Aproximações polinomiais de funções contínuas. Teorema de Weierstrass. Teorema do resto de Peano e algumas aplicações. Aproximação de funções periódicas. Séries de Fourier e sua convergência.
Teoria de Categorias
Categorias, functores e transformações naturais. Diagramas. Dualidade. Construções de novas categorias a partir de categorias dadas. Construções universais, limites e colimites. Functores adjuntos. Aplicações da Teoria de Categorias.
Teoria de Códigos
Introdução ao Problema Principal da Teoria de Códigos. Limites nos códigos. Códigos lineares. Códigos cíclicos. Códigos de Hadamard e Reed-Muller. Códigos de convolução. [^]

Teoria de Grafos Computacional
Definições e propriedades dos grafos. árvores geradoras, árvores geradoras minimais e caminhos mais curtos. O Problema do carteiro chinês e do caixeiro viajante. O caminho mais curto numa rede. Coloração de grafos.

Ciência de Dados

Aprendizagem Automática I
Revisões de Álgebra Linear, Probabilidades e Estatística. Aprendizagem Estatística. Regressão Linear. Classificação. Métodos de Reamostragem. Selecção de Modelos e Regularização. Aprendizagem Não-estatística.

Aprendizagem Automática II
Redes neuronais. Deep Learning. Aprendizagem não-supervisionada. Detecção de anomalias. Sistemas de recomendação.

Gestão de Grandes Conjuntos de Dados
Sistemas de armazenamento. Ferramentas de processamento analítico. Optimização e escalabilidade. Segurança e Privacidade. Interfaces com o utilizador.

Computação Avançada
Arquitecturas de sistemas de elevado desempenho. Conceitos de computação paralela. Avaliação de desempenho de aplicações paralelas. Conceitos e desafios de sistemas de elevado débito. Técnicas de computação de elevado desempenho e débito para aplicações de ciência dos dados. Conceitos de computação quântica. Algoritmos quânticos para mineração de dados e aprendizagem automática.

Machine Learning: Fundamentos e Aplicações

Métricas em Machine Learning
Conceitos sobre métricas e teoria da informação. Métodos lineares e não lineares de redução de dimensão. Árvores e florestas de decisão. Métodos de construção e de análise de clusters.

Sistemas Baseados em Similaridade
Sistemas de Aprendizagem e Computação Natural: aprendizagem baseada em sistemas de cálculo de similaridade; resolução de problemas por sistemas baseados em similaridades. Aplicações e metodologias de Machine Learning: raciocínio baseado em casos (RBC); segmentação; árvores de decisão.

Otimização em Machine Learning
Elementos de cálculo diferencial. Otimização sem restrições. Otimização com restrições. Máquina de vetores de suporte (SVM) lineares e não lineares. Redes neuronais de tipo feed-forward. 

Classificadores e Sistemas Conexionistas
Sistemas de Aprendizagem e Computação Natural: aprendizagem baseada em sistemas conexionistas; desenvolvimento de sistemas de classificação e regressão. Aplicações e metodologias de Machine Learning: redes neuronais artificiais; aprendizagem por reforço; máquinas de vetores de suporte.




 
  © 2019 Universidade do Minho  - Termos Legais  - actualizado por DMA Símbolo de Acessibilidade na Web D.