Go to:
Logótipo
You are in:: Start > Courses/CE or Courses/Cycle of Studies or Programmes/Cycle of Studies > M:CC > Information for Applicants
Map of Premises
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Courses

Master in Computer Science

General information

Official Code: 6026
Acronym: M:CC
Description:
The Master’s in Computer Science provides high quality, advanced training to professionals and investigators of a range of specialisations with the field of Computer Science

Certificates

  • Master's degree in Computer Science - Parallel and Distributed Systems (120 ECTS credits)
  • Master's degree in Computer Science (120 ECTS credits)
  • Master's degree in Computer Science - Reliable Computing (120 ECTS credits)
  • Master's degree in Computer Science - Data Mining and Data Processing (120 ECTS credits)
  • Specialization in Computer Science - Reliable Computing (72 ECTS credits)
  • Specialization in Computer Science (72 ECTS credits)
  • Specialization in Computer Science - Data Mining and Data Processing (72 ECTS credits)
  • Specialization in Computer Science - Parallel and Distributed Systems (72 ECTS credits)

Courses Units

Dissertation

CC5002 - ECTS

Management and Entrepreneurship

GES4001 - ECTS

The purpose of this course is to provide students with: 

  • A global vision on organization’s management and an comprehensive knowledge on the major strategically issues that enterprises have to deal with; 
  • An understanding of financial and economical analysis needed to evaluate financial and accounting reporting information; 
  • The basic skills on entrepreneurship matters that may allow students to built their own business or financial project. 

Sociology and Ethics in Informatics

DPI4001 - ECTS

Information technology plays a fundamental role in society today. It is, therefore, important to understand and reason about social and ethical issues that its use raises.

The main objectives of this course are:

  • to induce among the students critical thinking about social and ethical questions raised by the use of computers and the Internet;
  • to raise awarness for an ethical conduct, privacy and relevant legislation impacting their future profession;
  • to contribute to improve their oral and written communication skills.

Algorithms


CC4010 - ECTS

Esta UC é dedicada ao desenho de algoritmos para problemas computacionais, e como raciocinar de forma clara sobre a sua correção e tempo de execução. O principal objectivo é dotar os alunos das ferramentas intelectuais necessárias para que sejam capazes de desenhar e analisar os seus próprios algoritmos para problemas que precisem de resolver no futuro.


Statistical Analysis and Signal Processing


M4062 - ECTS
Proporcionar  fundamentos para a análise e processamento digital de sinais estocásticos, abordando de uma forma global a modelação, a estimação espectral e a filtragem óptima e adaptativa

Proporcionar uma perspectiva atual e interdisciplinar da análise estatística de sinal e de métodos avançados de análise de dados temporais e extração de informação. Análise de dados complexos/extensos pela combinação de métodos preditivos e abordagens orientadas aos dados.

Envolver os estudantes numa aplicação de estudo de caso para a prática e percepção crítica dos métodos estudados e ferramentas e pacotes de software subjacentes.



Parallel Computing


CC4014 - ECTS

Dotar os estudantes do conhecimento teórico e prático dos modelos de computação orientados para arquiteturas paralelas e distribuídas. Será dada ênfase ao desenvolvimento de competências de programação para memória distribuída com o MPI, e de programação em memória partilhada com processos, threads e OpenMP.


Cryptography


CC4017 - ECTS

Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança da informção em geral, enquadrando aqui a utilização de primitivas criptográficas.

Estudo das primitivas criptográficas mais relevantes, as garantias de segurança que conferem, as suas aplicações, boas práticas de uso e possíveis ataques.

Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.

 


Data Mining I


CC4018 - ECTS

Esta disciplina tem como objetivos principais fazer uma introdução às principais metodologias de data science, e também fornecer conhecimentos sobre programação e sistemas utilizados para a análise de dados, tais como a linguagem R.


Applied Statistics in Science and Engineering


M4060 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas contínuas ou discretas (modelos lineares generalizados)
2. Implementar análises estatísticas num software adequado
3. Promover o espírito crítico num processo de análise de dados (recolha de dados, modelação, interpretação dos resultados, ...)


Foundations of Programming Languages


CC4013 - ECTS

Estudo de modelos formais semânticos de linguagens de programação, de forma a compreender os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação. 


Software Project Management


CC4005 - ECTS
  • Compreender a dinâmica da gestão de projetos, conceitos, termos e nomenclaturas​
  • Compreender as diferentes abordagens metodológicas de G.P e conseguir decidir a que melhor se aplica a cada tipo de projeto​
  • Adquirir ensinamentos base sobre metodologias: waterfall, Agile a Lean/Melhoria Continua​
  • Compreender a relevância das soft-skills no sucesso da gestão (seja de projetos, pessoas etc)​
  • Adquirir competências básicas sobre qualificação de projetos, que envolvem investimento financeiro​
  • Troca e partilha de experiências, histórias e lessons learned​

Processing of Structured Documents


CC4001 - ECTS

Esta unidade curricular tem por objetivo geral introduzir os alunos aos documentos estruturados e ao seu processamento, sendo abordados o XML e JSON como formalismos de estruturação de documentos, com enfase no primeiro.


Stochastic Processes and Applications


M4064 - ECTS

Pretende-se que os estudantes reconheçam e distingam as propriedades dos diferentes processos estudados, em particular, processos de Poisson, processos de renovamento, cadeias de Markov e movimento Browniano.

Pretende-se que os estudantes desenvolvam capacidades de modelação através da utilização de processos estocásticos mais comuns. Pretende-se ainda que os estudantes consigam simular os vários processos estocásticos estudados assim como utilizar as suas propriedades para responder a determinados problemas concretos.


Mobile Communication Networks


CC4039 - ECTS

Compreenção dos princípios fundamentais do funcionamento das redes de comunicações móveis, focando: os aspectos tecnológicos mais relevantes; as redes locais sem fios; as redes de comunicações móveis de 2ª, 3ª, 4ª e 5ª geração; e os principais serviços em redes de comunicações móveis.


Network Security


CC4031 - ECTS
A disciplina pretende apresentar aos alunos os conceitos e problemas da segurança nas redes de comunicação. Ao longo do período revê-se os conceitos básicos de redes permitindo uma discussão do ponto de vista de segurança dos protocolos de comunicação. A análise e o desenho de arquitetura de redes com segurança como objetivo será desenvolvido, utilizando para isso, técnicas de monitorização e análise de tráfego. Neste sentido, serão apresentadas e utilizadas ferramentas de rede para este estudo. Será abordada a segurança web e ataques à mesma.

Distributed Systems


CC4003 - ECTS

Possibilitar aos alunos uma introdução aos problemas fundamentais no desenho e na implementação de sistemas distribuídos. Ao completarem esta unidade curricular, os alunos deverão ser capazes de:

(a) explicar o que é um sistema distribuído e quais as vantagens e propriedades desejáveis de tais sistemas;
(b) descrever os princípios subjacentes ao funcionamento de sistemas distribuídos, os problemas e desafios
associados, e avaliar a eficácia e limitações das suas soluções;
(c) construir sistemas funcionais utilizando mecanismos de comunicação como sockets, RMI/RPC e Serviços Web.


Information Theory


CC4019 - ECTS
O objectivo da cadeira é introduzir ao aluno os fundamentos de teoria da informação. A teoria da informação é o estudo do que é informação, de como ela pode ser armazenada e transmitida. Isto levanta três questões: Compressão: Como é possível armazenar informação utilizando o mínimo de espaço possível? Correcção de erros: Como é possível transmitir informação de forma fiável, por via de um canal de informação imperfeito? Encriptação: Como é possível transmitir informação de forma privada via um canal público? Esta cadeira trata das duas primeiras questões, a terceira é tratada na cadeira de criptografia do nosso departamento.

Advanced Topics in Networks


CC4037 - ECTS

O objetivo da disciplina é o de aprofundar alguns tópicos selecionados das redes de dados. Os assuntos vão de redes sem fios, mobilidade, tecnologias nos operadores a alguns propostas de investigação. A exposição teórica é complementada com trabalhos laboratoriais nos temas abordados, de modo ao estudante consolidar a teoria apreendida com a sua aplicação.


Verification of Systems


CC4084 - ECTS
Introdução a técnicas formais de verificação de sistemas informáticos baseadas em modelos (model checking).

Computer Vision


CC4016 - ECTS
Esta disciplina introduz os alunos aos conceitos gerais da visão computacional,  nomeadamente a tecnologia de captação de imagens, técnicas básicas de processamento de imagem e vídeo e reconhecimento de padrões. Será também feita uma introdução aos vários campos aplicacionais da visão computacional.

Big Data and Cloud Computing


CC4053 - ECTS
Introdução ao uso de infra-estruturas de "cloud computing" para processamento massivo de dados ("big data") em problemas do mundo real.

Bioinformatics


CC4021 - ECTS

A Bioinformática é um campo do conhecimento interdisciplinar que combina as ciências da computação, a biologia e ciências biomédicas e a estatística. A Bioinformática é orientada à aplicação e desenvolvimento de novos métodos computacionais para expandir o conhecimento biológico, biomédico ou epidemiológico. Os recentes desenvolvimentos nas tecnologias de alto-débito levaram a uma grande revolução na investigação biológica e biomédica e onde hoje a bioinformática assume um papel cada vez mais central na análise de grandes quantidades de dados.

Este curso vai-se focar nos principais algoritmos desenvolvido para responder a tarefas bioinformáticas. Será dado ênfase em algoritmos de processamento e análise de sequências, quer sejam sequências nucleotídicas (exemplo DNA ou RNA) ou sequências de aminoácidos (proteínas).

O objetivo deste curso é de que os estudantes sejam capazes de entender como funcionam estes algoritmos e como podem ser desenvolvidos e aplicados para responder a novos desafios computacionais na análise de sequências biológicas.


Computational Complexity


CC4011 - ECTS

Nesta unidade curricular pretende-se expôr aos alunos técnicas que provem ou sugiram que não existem métodos eficientes para resolver alguns problemas importantes em Ciência de Computadores com impacto na vida real (nomeadamente a factorização). Neste sentido é feito um estudo teórico de várias classes de complexidade, das relações entre elas, tais como: P, NP, co-NP, PSPACE, NL, PH, RP, BPP,  e IP. Ênfase especial será dada ao papel da aleatoridade no desempenho de vários algoritmos.


Computer Graphics


CC4009 - ECTS

O programa proposto é leccionado nas aulas teóricas onde os principais conceitos são introduzidos e são apresentados exemplos aplicáveis relacionados com filme, jogos e aplicações na medicina. Nos laboratórios os alunos resolverão trabalhos práticos relacionados com os conceitos apresentados nas aulas práticas, implementando soluções em C++ ou Python utilizando o OpenGL. Os alunos devem demonstrar a capacidade de compreender os tópicos avançados ao apresentar um artigo relacionado com um dos temas apresentado nas aulas teóricas. Os objectivos da aprendizagem serão integrados num projecto desenvolvidos nos laboratórios.


Data Mining II


CC4024 - ECTS
Identificação e aplicação de técnicas de data mining para a extração de conhecimento a partir de diversas fontes de dados (transações, web, texto, etc.).

Statistical Methods in Data Mining


M4063 - ECTS

Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.


Network Science


CC4070 - ECTS
As redes são uma ferramenta fundamental para modelar sistemas complexos sociais, biológicos e tecnológicos. Tendo também em conta a emergente disponibilidade de dados de larga escala de redes, esta unidade curricular foca-se na análise destas redes, o que acarreta múltiplos desafios computacionais, algorítmicos e de modelação. Irá cobrir investigação recente na estrutura e anaĺise  destas redes, bem como modelos e algoritmos que possam abstrair as suas principais propriedades.

Systems and Data Security


CC4030 - ECTS
Introdução à problemática da segurança dos sistemas de informação e de dados. Obtenção de conhecimento detalhado sobre as principais fragilidades intrínsecas aos sistemas operativos e computadores. Apresentação de metodologias para a construção de sistemas capazes de resistir a ataques, erros de operação e ocorrências
fortuitas provocadas por adversários inteligentes.

Embedded Systems


CC4040 - ECTS

Introduzir os conceitos fundamentais sobre sistemas embutidos e fornecer aos alunos as competências necessárias ao desenvolvimento de aplicações para estas plataformas.

Apresentar aos alunos as capacidades e limitações destes sistemas e a razão da sua disseminação e utilização em variados ambientes.

Introduzir os alunos ao desenvolvimento nestas plataformas, potenciando o trabalho de equipa e a organização da mesma.


Advanced Topics in Algorithms


CC4020 - ECTS
Reforçar conhecimentos de técnicas de concepção de algoritmos e análise da sua correção e complexidade.
Conhecer e aplicar métodos de resolução exata e aproximada para problemas difíceis.

Advanced Topics in Databases


CC4007 - ECTS

Aprender conceitos avançados de Bases de Dados, que passem pela inclusão da utilização de bases de dados relacionais em ambiente de linguagens de programação genéricas. Os alunos aprendem com especial ênfase as "Application Programming Interfaces" APIs em linguagem C de sistemas de gestão de bases de dados como o MySQL. Desenvolvem capacidade de aumentar tais sistemas através de módulos escritos em C.
Aborda-se o conceito de base de dados dedutiva e sistemas de representação de conhecimento.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais. Utiliza-se diversas ferramentas de análise e visualização de informação espacial, através da linguagem de programação Python e módulos como o MatPlotLib.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.
Aprendem-se conceitos de bases de dados noSQL.


Advanced Topics on Artificial Intelligence


CC4022 - ECTS
Proporcionar aos alunos conhecimentos sobre os novos desenvolvimentos em IA que envolvem avanços em áreas tão díspares como lógica, estatística e investigação operacional.

Enfase será colocada em:
  - sistemas probabilísticos, direcionados e não direcionados, incluindo inferência e aprendizagem de parâmetros e de estrutura; ligação â classificadores lineares e redes neuronais
 - representacão lógica: Lógica de primeira ordem (FOL) e Datalog para representação de estrutura; aprendizagem de programas lógicos em Programação Lógica Indutiva (ILP).
- integração: Aprendizagem relacional estatística (SRL) e redes neuronais-lógicas.

O curso requer competências adquiridas em Desenho e Análise de Algoritmos , Inteligência Artificial e Data Mining.

Advanced Topics in Functional Programming


CC4028 - ECTS

Aprofundar os conhecimentos de programação funcional com ênfase em algumas técnicas avançadas para maior modularidade e correção na construção de programas.

Verification of Programs


CC4085 - ECTS
Estudo e utilização de técnicas formais baseadas em lógica e semânticas axiomáticas aplicadas à verificação de programas.

Algorithms


CC4010 - ECTS

Esta UC é dedicada ao desenho de algoritmos para problemas computacionais, e como raciocinar de forma clara sobre a sua correção e tempo de execução. O principal objectivo é dotar os alunos das ferramentas intelectuais necessárias para que sejam capazes de desenhar e analisar os seus próprios algoritmos para problemas que precisem de resolver no futuro.


Statistical Analysis and Signal Processing


M4062 - ECTS
Proporcionar  fundamentos para a análise e processamento digital de sinais estocásticos, abordando de uma forma global a modelação, a estimação espectral e a filtragem óptima e adaptativa

Proporcionar uma perspectiva atual e interdisciplinar da análise estatística de sinal e de métodos avançados de análise de dados temporais e extração de informação. Análise de dados complexos/extensos pela combinação de métodos preditivos e abordagens orientadas aos dados.

Envolver os estudantes numa aplicação de estudo de caso para a prática e percepção crítica dos métodos estudados e ferramentas e pacotes de software subjacentes.



Parallel Computing


CC4014 - ECTS

Dotar os estudantes do conhecimento teórico e prático dos modelos de computação orientados para arquiteturas paralelas e distribuídas. Será dada ênfase ao desenvolvimento de competências de programação para memória distribuída com o MPI, e de programação em memória partilhada com processos, threads e OpenMP.


Cryptography


CC4017 - ECTS

Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança da informção em geral, enquadrando aqui a utilização de primitivas criptográficas.

Estudo das primitivas criptográficas mais relevantes, as garantias de segurança que conferem, as suas aplicações, boas práticas de uso e possíveis ataques.

Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.

 


Data Mining I


CC4018 - ECTS

Esta disciplina tem como objetivos principais fazer uma introdução às principais metodologias de data science, e também fornecer conhecimentos sobre programação e sistemas utilizados para a análise de dados, tais como a linguagem R.


Applied Statistics in Science and Engineering


M4060 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas contínuas ou discretas (modelos lineares generalizados)
2. Implementar análises estatísticas num software adequado
3. Promover o espírito crítico num processo de análise de dados (recolha de dados, modelação, interpretação dos resultados, ...)


Foundations of Programming Languages


CC4013 - ECTS

Estudo de modelos formais semânticos de linguagens de programação, de forma a compreender os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação. 


Software Project Management


CC4005 - ECTS
  • Compreender a dinâmica da gestão de projetos, conceitos, termos e nomenclaturas​
  • Compreender as diferentes abordagens metodológicas de G.P e conseguir decidir a que melhor se aplica a cada tipo de projeto​
  • Adquirir ensinamentos base sobre metodologias: waterfall, Agile a Lean/Melhoria Continua​
  • Compreender a relevância das soft-skills no sucesso da gestão (seja de projetos, pessoas etc)​
  • Adquirir competências básicas sobre qualificação de projetos, que envolvem investimento financeiro​
  • Troca e partilha de experiências, histórias e lessons learned​

Processing of Structured Documents


CC4001 - ECTS

Esta unidade curricular tem por objetivo geral introduzir os alunos aos documentos estruturados e ao seu processamento, sendo abordados o XML e JSON como formalismos de estruturação de documentos, com enfase no primeiro.


Stochastic Processes and Applications


M4064 - ECTS

Pretende-se que os estudantes reconheçam e distingam as propriedades dos diferentes processos estudados, em particular, processos de Poisson, processos de renovamento, cadeias de Markov e movimento Browniano.

Pretende-se que os estudantes desenvolvam capacidades de modelação através da utilização de processos estocásticos mais comuns. Pretende-se ainda que os estudantes consigam simular os vários processos estocásticos estudados assim como utilizar as suas propriedades para responder a determinados problemas concretos.


Mobile Communication Networks


CC4039 - ECTS

Compreenção dos princípios fundamentais do funcionamento das redes de comunicações móveis, focando: os aspectos tecnológicos mais relevantes; as redes locais sem fios; as redes de comunicações móveis de 2ª, 3ª, 4ª e 5ª geração; e os principais serviços em redes de comunicações móveis.


Network Security


CC4031 - ECTS
A disciplina pretende apresentar aos alunos os conceitos e problemas da segurança nas redes de comunicação. Ao longo do período revê-se os conceitos básicos de redes permitindo uma discussão do ponto de vista de segurança dos protocolos de comunicação. A análise e o desenho de arquitetura de redes com segurança como objetivo será desenvolvido, utilizando para isso, técnicas de monitorização e análise de tráfego. Neste sentido, serão apresentadas e utilizadas ferramentas de rede para este estudo. Será abordada a segurança web e ataques à mesma.

Distributed Systems


CC4003 - ECTS

Possibilitar aos alunos uma introdução aos problemas fundamentais no desenho e na implementação de sistemas distribuídos. Ao completarem esta unidade curricular, os alunos deverão ser capazes de:

(a) explicar o que é um sistema distribuído e quais as vantagens e propriedades desejáveis de tais sistemas;
(b) descrever os princípios subjacentes ao funcionamento de sistemas distribuídos, os problemas e desafios
associados, e avaliar a eficácia e limitações das suas soluções;
(c) construir sistemas funcionais utilizando mecanismos de comunicação como sockets, RMI/RPC e Serviços Web.


Information Theory


CC4019 - ECTS
O objectivo da cadeira é introduzir ao aluno os fundamentos de teoria da informação. A teoria da informação é o estudo do que é informação, de como ela pode ser armazenada e transmitida. Isto levanta três questões: Compressão: Como é possível armazenar informação utilizando o mínimo de espaço possível? Correcção de erros: Como é possível transmitir informação de forma fiável, por via de um canal de informação imperfeito? Encriptação: Como é possível transmitir informação de forma privada via um canal público? Esta cadeira trata das duas primeiras questões, a terceira é tratada na cadeira de criptografia do nosso departamento.

Advanced Topics in Networks


CC4037 - ECTS

O objetivo da disciplina é o de aprofundar alguns tópicos selecionados das redes de dados. Os assuntos vão de redes sem fios, mobilidade, tecnologias nos operadores a alguns propostas de investigação. A exposição teórica é complementada com trabalhos laboratoriais nos temas abordados, de modo ao estudante consolidar a teoria apreendida com a sua aplicação.


Verification of Systems


CC4084 - ECTS
Introdução a técnicas formais de verificação de sistemas informáticos baseadas em modelos (model checking).

Computer Vision


CC4016 - ECTS
Esta disciplina introduz os alunos aos conceitos gerais da visão computacional,  nomeadamente a tecnologia de captação de imagens, técnicas básicas de processamento de imagem e vídeo e reconhecimento de padrões. Será também feita uma introdução aos vários campos aplicacionais da visão computacional.

Big Data and Cloud Computing


CC4053 - ECTS
Introdução ao uso de infra-estruturas de "cloud computing" para processamento massivo de dados ("big data") em problemas do mundo real.

Bioinformatics


CC4021 - ECTS

A Bioinformática é um campo do conhecimento interdisciplinar que combina as ciências da computação, a biologia e ciências biomédicas e a estatística. A Bioinformática é orientada à aplicação e desenvolvimento de novos métodos computacionais para expandir o conhecimento biológico, biomédico ou epidemiológico. Os recentes desenvolvimentos nas tecnologias de alto-débito levaram a uma grande revolução na investigação biológica e biomédica e onde hoje a bioinformática assume um papel cada vez mais central na análise de grandes quantidades de dados.

Este curso vai-se focar nos principais algoritmos desenvolvido para responder a tarefas bioinformáticas. Será dado ênfase em algoritmos de processamento e análise de sequências, quer sejam sequências nucleotídicas (exemplo DNA ou RNA) ou sequências de aminoácidos (proteínas).

O objetivo deste curso é de que os estudantes sejam capazes de entender como funcionam estes algoritmos e como podem ser desenvolvidos e aplicados para responder a novos desafios computacionais na análise de sequências biológicas.


Computational Complexity


CC4011 - ECTS

Nesta unidade curricular pretende-se expôr aos alunos técnicas que provem ou sugiram que não existem métodos eficientes para resolver alguns problemas importantes em Ciência de Computadores com impacto na vida real (nomeadamente a factorização). Neste sentido é feito um estudo teórico de várias classes de complexidade, das relações entre elas, tais como: P, NP, co-NP, PSPACE, NL, PH, RP, BPP,  e IP. Ênfase especial será dada ao papel da aleatoridade no desempenho de vários algoritmos.


Computer Graphics


CC4009 - ECTS

O programa proposto é leccionado nas aulas teóricas onde os principais conceitos são introduzidos e são apresentados exemplos aplicáveis relacionados com filme, jogos e aplicações na medicina. Nos laboratórios os alunos resolverão trabalhos práticos relacionados com os conceitos apresentados nas aulas práticas, implementando soluções em C++ ou Python utilizando o OpenGL. Os alunos devem demonstrar a capacidade de compreender os tópicos avançados ao apresentar um artigo relacionado com um dos temas apresentado nas aulas teóricas. Os objectivos da aprendizagem serão integrados num projecto desenvolvidos nos laboratórios.


Data Mining II


CC4024 - ECTS
Identificação e aplicação de técnicas de data mining para a extração de conhecimento a partir de diversas fontes de dados (transações, web, texto, etc.).

Statistical Methods in Data Mining


M4063 - ECTS

Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.


Network Science


CC4070 - ECTS
As redes são uma ferramenta fundamental para modelar sistemas complexos sociais, biológicos e tecnológicos. Tendo também em conta a emergente disponibilidade de dados de larga escala de redes, esta unidade curricular foca-se na análise destas redes, o que acarreta múltiplos desafios computacionais, algorítmicos e de modelação. Irá cobrir investigação recente na estrutura e anaĺise  destas redes, bem como modelos e algoritmos que possam abstrair as suas principais propriedades.

Systems and Data Security


CC4030 - ECTS
Introdução à problemática da segurança dos sistemas de informação e de dados. Obtenção de conhecimento detalhado sobre as principais fragilidades intrínsecas aos sistemas operativos e computadores. Apresentação de metodologias para a construção de sistemas capazes de resistir a ataques, erros de operação e ocorrências
fortuitas provocadas por adversários inteligentes.

Embedded Systems


CC4040 - ECTS

Introduzir os conceitos fundamentais sobre sistemas embutidos e fornecer aos alunos as competências necessárias ao desenvolvimento de aplicações para estas plataformas.

Apresentar aos alunos as capacidades e limitações destes sistemas e a razão da sua disseminação e utilização em variados ambientes.

Introduzir os alunos ao desenvolvimento nestas plataformas, potenciando o trabalho de equipa e a organização da mesma.


Advanced Topics in Algorithms


CC4020 - ECTS
Reforçar conhecimentos de técnicas de concepção de algoritmos e análise da sua correção e complexidade.
Conhecer e aplicar métodos de resolução exata e aproximada para problemas difíceis.

Advanced Topics in Databases


CC4007 - ECTS

Aprender conceitos avançados de Bases de Dados, que passem pela inclusão da utilização de bases de dados relacionais em ambiente de linguagens de programação genéricas. Os alunos aprendem com especial ênfase as "Application Programming Interfaces" APIs em linguagem C de sistemas de gestão de bases de dados como o MySQL. Desenvolvem capacidade de aumentar tais sistemas através de módulos escritos em C.
Aborda-se o conceito de base de dados dedutiva e sistemas de representação de conhecimento.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais. Utiliza-se diversas ferramentas de análise e visualização de informação espacial, através da linguagem de programação Python e módulos como o MatPlotLib.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.
Aprendem-se conceitos de bases de dados noSQL.


Advanced Topics on Artificial Intelligence


CC4022 - ECTS
Proporcionar aos alunos conhecimentos sobre os novos desenvolvimentos em IA que envolvem avanços em áreas tão díspares como lógica, estatística e investigação operacional.

Enfase será colocada em:
  - sistemas probabilísticos, direcionados e não direcionados, incluindo inferência e aprendizagem de parâmetros e de estrutura; ligação â classificadores lineares e redes neuronais
 - representacão lógica: Lógica de primeira ordem (FOL) e Datalog para representação de estrutura; aprendizagem de programas lógicos em Programação Lógica Indutiva (ILP).
- integração: Aprendizagem relacional estatística (SRL) e redes neuronais-lógicas.

O curso requer competências adquiridas em Desenho e Análise de Algoritmos , Inteligência Artificial e Data Mining.

Advanced Topics in Functional Programming


CC4028 - ECTS

Aprofundar os conhecimentos de programação funcional com ênfase em algumas técnicas avançadas para maior modularidade e correção na construção de programas.

Verification of Programs


CC4085 - ECTS
Estudo e utilização de técnicas formais baseadas em lógica e semânticas axiomáticas aplicadas à verificação de programas.

Algorithms


CC4010 - ECTS

Esta UC é dedicada ao desenho de algoritmos para problemas computacionais, e como raciocinar de forma clara sobre a sua correção e tempo de execução. O principal objectivo é dotar os alunos das ferramentas intelectuais necessárias para que sejam capazes de desenhar e analisar os seus próprios algoritmos para problemas que precisem de resolver no futuro.


Statistical Analysis and Signal Processing


M4062 - ECTS
Proporcionar  fundamentos para a análise e processamento digital de sinais estocásticos, abordando de uma forma global a modelação, a estimação espectral e a filtragem óptima e adaptativa

Proporcionar uma perspectiva atual e interdisciplinar da análise estatística de sinal e de métodos avançados de análise de dados temporais e extração de informação. Análise de dados complexos/extensos pela combinação de métodos preditivos e abordagens orientadas aos dados.

Envolver os estudantes numa aplicação de estudo de caso para a prática e percepção crítica dos métodos estudados e ferramentas e pacotes de software subjacentes.



Parallel Computing


CC4014 - ECTS

Dotar os estudantes do conhecimento teórico e prático dos modelos de computação orientados para arquiteturas paralelas e distribuídas. Será dada ênfase ao desenvolvimento de competências de programação para memória distribuída com o MPI, e de programação em memória partilhada com processos, threads e OpenMP.


Cryptography


CC4017 - ECTS

Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança da informção em geral, enquadrando aqui a utilização de primitivas criptográficas.

Estudo das primitivas criptográficas mais relevantes, as garantias de segurança que conferem, as suas aplicações, boas práticas de uso e possíveis ataques.

Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.

 


Data Mining I


CC4018 - ECTS

Esta disciplina tem como objetivos principais fazer uma introdução às principais metodologias de data science, e também fornecer conhecimentos sobre programação e sistemas utilizados para a análise de dados, tais como a linguagem R.


Applied Statistics in Science and Engineering


M4060 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas contínuas ou discretas (modelos lineares generalizados)
2. Implementar análises estatísticas num software adequado
3. Promover o espírito crítico num processo de análise de dados (recolha de dados, modelação, interpretação dos resultados, ...)


Foundations of Programming Languages


CC4013 - ECTS

Estudo de modelos formais semânticos de linguagens de programação, de forma a compreender os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação. 


Software Project Management


CC4005 - ECTS
  • Compreender a dinâmica da gestão de projetos, conceitos, termos e nomenclaturas​
  • Compreender as diferentes abordagens metodológicas de G.P e conseguir decidir a que melhor se aplica a cada tipo de projeto​
  • Adquirir ensinamentos base sobre metodologias: waterfall, Agile a Lean/Melhoria Continua​
  • Compreender a relevância das soft-skills no sucesso da gestão (seja de projetos, pessoas etc)​
  • Adquirir competências básicas sobre qualificação de projetos, que envolvem investimento financeiro​
  • Troca e partilha de experiências, histórias e lessons learned​

Processing of Structured Documents


CC4001 - ECTS

Esta unidade curricular tem por objetivo geral introduzir os alunos aos documentos estruturados e ao seu processamento, sendo abordados o XML e JSON como formalismos de estruturação de documentos, com enfase no primeiro.


Stochastic Processes and Applications


M4064 - ECTS

Pretende-se que os estudantes reconheçam e distingam as propriedades dos diferentes processos estudados, em particular, processos de Poisson, processos de renovamento, cadeias de Markov e movimento Browniano.

Pretende-se que os estudantes desenvolvam capacidades de modelação através da utilização de processos estocásticos mais comuns. Pretende-se ainda que os estudantes consigam simular os vários processos estocásticos estudados assim como utilizar as suas propriedades para responder a determinados problemas concretos.


Mobile Communication Networks


CC4039 - ECTS

Compreenção dos princípios fundamentais do funcionamento das redes de comunicações móveis, focando: os aspectos tecnológicos mais relevantes; as redes locais sem fios; as redes de comunicações móveis de 2ª, 3ª, 4ª e 5ª geração; e os principais serviços em redes de comunicações móveis.


Network Security


CC4031 - ECTS
A disciplina pretende apresentar aos alunos os conceitos e problemas da segurança nas redes de comunicação. Ao longo do período revê-se os conceitos básicos de redes permitindo uma discussão do ponto de vista de segurança dos protocolos de comunicação. A análise e o desenho de arquitetura de redes com segurança como objetivo será desenvolvido, utilizando para isso, técnicas de monitorização e análise de tráfego. Neste sentido, serão apresentadas e utilizadas ferramentas de rede para este estudo. Será abordada a segurança web e ataques à mesma.

Distributed Systems


CC4003 - ECTS

Possibilitar aos alunos uma introdução aos problemas fundamentais no desenho e na implementação de sistemas distribuídos. Ao completarem esta unidade curricular, os alunos deverão ser capazes de:

(a) explicar o que é um sistema distribuído e quais as vantagens e propriedades desejáveis de tais sistemas;
(b) descrever os princípios subjacentes ao funcionamento de sistemas distribuídos, os problemas e desafios
associados, e avaliar a eficácia e limitações das suas soluções;
(c) construir sistemas funcionais utilizando mecanismos de comunicação como sockets, RMI/RPC e Serviços Web.


Information Theory


CC4019 - ECTS
O objectivo da cadeira é introduzir ao aluno os fundamentos de teoria da informação. A teoria da informação é o estudo do que é informação, de como ela pode ser armazenada e transmitida. Isto levanta três questões: Compressão: Como é possível armazenar informação utilizando o mínimo de espaço possível? Correcção de erros: Como é possível transmitir informação de forma fiável, por via de um canal de informação imperfeito? Encriptação: Como é possível transmitir informação de forma privada via um canal público? Esta cadeira trata das duas primeiras questões, a terceira é tratada na cadeira de criptografia do nosso departamento.

Advanced Topics in Networks


CC4037 - ECTS

O objetivo da disciplina é o de aprofundar alguns tópicos selecionados das redes de dados. Os assuntos vão de redes sem fios, mobilidade, tecnologias nos operadores a alguns propostas de investigação. A exposição teórica é complementada com trabalhos laboratoriais nos temas abordados, de modo ao estudante consolidar a teoria apreendida com a sua aplicação.


Verification of Systems


CC4084 - ECTS
Introdução a técnicas formais de verificação de sistemas informáticos baseadas em modelos (model checking).

Computer Vision


CC4016 - ECTS
Esta disciplina introduz os alunos aos conceitos gerais da visão computacional,  nomeadamente a tecnologia de captação de imagens, técnicas básicas de processamento de imagem e vídeo e reconhecimento de padrões. Será também feita uma introdução aos vários campos aplicacionais da visão computacional.

Big Data and Cloud Computing


CC4053 - ECTS
Introdução ao uso de infra-estruturas de "cloud computing" para processamento massivo de dados ("big data") em problemas do mundo real.

Bioinformatics


CC4021 - ECTS

A Bioinformática é um campo do conhecimento interdisciplinar que combina as ciências da computação, a biologia e ciências biomédicas e a estatística. A Bioinformática é orientada à aplicação e desenvolvimento de novos métodos computacionais para expandir o conhecimento biológico, biomédico ou epidemiológico. Os recentes desenvolvimentos nas tecnologias de alto-débito levaram a uma grande revolução na investigação biológica e biomédica e onde hoje a bioinformática assume um papel cada vez mais central na análise de grandes quantidades de dados.

Este curso vai-se focar nos principais algoritmos desenvolvido para responder a tarefas bioinformáticas. Será dado ênfase em algoritmos de processamento e análise de sequências, quer sejam sequências nucleotídicas (exemplo DNA ou RNA) ou sequências de aminoácidos (proteínas).

O objetivo deste curso é de que os estudantes sejam capazes de entender como funcionam estes algoritmos e como podem ser desenvolvidos e aplicados para responder a novos desafios computacionais na análise de sequências biológicas.


Computational Complexity


CC4011 - ECTS

Nesta unidade curricular pretende-se expôr aos alunos técnicas que provem ou sugiram que não existem métodos eficientes para resolver alguns problemas importantes em Ciência de Computadores com impacto na vida real (nomeadamente a factorização). Neste sentido é feito um estudo teórico de várias classes de complexidade, das relações entre elas, tais como: P, NP, co-NP, PSPACE, NL, PH, RP, BPP,  e IP. Ênfase especial será dada ao papel da aleatoridade no desempenho de vários algoritmos.


Computer Graphics


CC4009 - ECTS

O programa proposto é leccionado nas aulas teóricas onde os principais conceitos são introduzidos e são apresentados exemplos aplicáveis relacionados com filme, jogos e aplicações na medicina. Nos laboratórios os alunos resolverão trabalhos práticos relacionados com os conceitos apresentados nas aulas práticas, implementando soluções em C++ ou Python utilizando o OpenGL. Os alunos devem demonstrar a capacidade de compreender os tópicos avançados ao apresentar um artigo relacionado com um dos temas apresentado nas aulas teóricas. Os objectivos da aprendizagem serão integrados num projecto desenvolvidos nos laboratórios.


Data Mining II


CC4024 - ECTS
Identificação e aplicação de técnicas de data mining para a extração de conhecimento a partir de diversas fontes de dados (transações, web, texto, etc.).

Statistical Methods in Data Mining


M4063 - ECTS

Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.


Network Science


CC4070 - ECTS
As redes são uma ferramenta fundamental para modelar sistemas complexos sociais, biológicos e tecnológicos. Tendo também em conta a emergente disponibilidade de dados de larga escala de redes, esta unidade curricular foca-se na análise destas redes, o que acarreta múltiplos desafios computacionais, algorítmicos e de modelação. Irá cobrir investigação recente na estrutura e anaĺise  destas redes, bem como modelos e algoritmos que possam abstrair as suas principais propriedades.

Systems and Data Security


CC4030 - ECTS
Introdução à problemática da segurança dos sistemas de informação e de dados. Obtenção de conhecimento detalhado sobre as principais fragilidades intrínsecas aos sistemas operativos e computadores. Apresentação de metodologias para a construção de sistemas capazes de resistir a ataques, erros de operação e ocorrências
fortuitas provocadas por adversários inteligentes.

Embedded Systems


CC4040 - ECTS

Introduzir os conceitos fundamentais sobre sistemas embutidos e fornecer aos alunos as competências necessárias ao desenvolvimento de aplicações para estas plataformas.

Apresentar aos alunos as capacidades e limitações destes sistemas e a razão da sua disseminação e utilização em variados ambientes.

Introduzir os alunos ao desenvolvimento nestas plataformas, potenciando o trabalho de equipa e a organização da mesma.


Advanced Topics in Algorithms


CC4020 - ECTS
Reforçar conhecimentos de técnicas de concepção de algoritmos e análise da sua correção e complexidade.
Conhecer e aplicar métodos de resolução exata e aproximada para problemas difíceis.

Advanced Topics in Databases


CC4007 - ECTS

Aprender conceitos avançados de Bases de Dados, que passem pela inclusão da utilização de bases de dados relacionais em ambiente de linguagens de programação genéricas. Os alunos aprendem com especial ênfase as "Application Programming Interfaces" APIs em linguagem C de sistemas de gestão de bases de dados como o MySQL. Desenvolvem capacidade de aumentar tais sistemas através de módulos escritos em C.
Aborda-se o conceito de base de dados dedutiva e sistemas de representação de conhecimento.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais. Utiliza-se diversas ferramentas de análise e visualização de informação espacial, através da linguagem de programação Python e módulos como o MatPlotLib.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.
Aprendem-se conceitos de bases de dados noSQL.


Advanced Topics on Artificial Intelligence


CC4022 - ECTS
Proporcionar aos alunos conhecimentos sobre os novos desenvolvimentos em IA que envolvem avanços em áreas tão díspares como lógica, estatística e investigação operacional.

Enfase será colocada em:
  - sistemas probabilísticos, direcionados e não direcionados, incluindo inferência e aprendizagem de parâmetros e de estrutura; ligação â classificadores lineares e redes neuronais
 - representacão lógica: Lógica de primeira ordem (FOL) e Datalog para representação de estrutura; aprendizagem de programas lógicos em Programação Lógica Indutiva (ILP).
- integração: Aprendizagem relacional estatística (SRL) e redes neuronais-lógicas.

O curso requer competências adquiridas em Desenho e Análise de Algoritmos , Inteligência Artificial e Data Mining.

Advanced Topics in Functional Programming


CC4028 - ECTS

Aprofundar os conhecimentos de programação funcional com ênfase em algumas técnicas avançadas para maior modularidade e correção na construção de programas.

Verification of Programs


CC4085 - ECTS
Estudo e utilização de técnicas formais baseadas em lógica e semânticas axiomáticas aplicadas à verificação de programas.

Algorithms


CC4010 - ECTS

Esta UC é dedicada ao desenho de algoritmos para problemas computacionais, e como raciocinar de forma clara sobre a sua correção e tempo de execução. O principal objectivo é dotar os alunos das ferramentas intelectuais necessárias para que sejam capazes de desenhar e analisar os seus próprios algoritmos para problemas que precisem de resolver no futuro.


Statistical Analysis and Signal Processing


M4062 - ECTS
Proporcionar  fundamentos para a análise e processamento digital de sinais estocásticos, abordando de uma forma global a modelação, a estimação espectral e a filtragem óptima e adaptativa

Proporcionar uma perspectiva atual e interdisciplinar da análise estatística de sinal e de métodos avançados de análise de dados temporais e extração de informação. Análise de dados complexos/extensos pela combinação de métodos preditivos e abordagens orientadas aos dados.

Envolver os estudantes numa aplicação de estudo de caso para a prática e percepção crítica dos métodos estudados e ferramentas e pacotes de software subjacentes.



Parallel Computing


CC4014 - ECTS

Dotar os estudantes do conhecimento teórico e prático dos modelos de computação orientados para arquiteturas paralelas e distribuídas. Será dada ênfase ao desenvolvimento de competências de programação para memória distribuída com o MPI, e de programação em memória partilhada com processos, threads e OpenMP.


Cryptography


CC4017 - ECTS

Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança da informção em geral, enquadrando aqui a utilização de primitivas criptográficas.

Estudo das primitivas criptográficas mais relevantes, as garantias de segurança que conferem, as suas aplicações, boas práticas de uso e possíveis ataques.

Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.

 


Data Mining I


CC4018 - ECTS

Esta disciplina tem como objetivos principais fazer uma introdução às principais metodologias de data science, e também fornecer conhecimentos sobre programação e sistemas utilizados para a análise de dados, tais como a linguagem R.


Applied Statistics in Science and Engineering


M4060 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas contínuas ou discretas (modelos lineares generalizados)
2. Implementar análises estatísticas num software adequado
3. Promover o espírito crítico num processo de análise de dados (recolha de dados, modelação, interpretação dos resultados, ...)


Foundations of Programming Languages


CC4013 - ECTS

Estudo de modelos formais semânticos de linguagens de programação, de forma a compreender os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação. 


Software Project Management


CC4005 - ECTS
  • Compreender a dinâmica da gestão de projetos, conceitos, termos e nomenclaturas​
  • Compreender as diferentes abordagens metodológicas de G.P e conseguir decidir a que melhor se aplica a cada tipo de projeto​
  • Adquirir ensinamentos base sobre metodologias: waterfall, Agile a Lean/Melhoria Continua​
  • Compreender a relevância das soft-skills no sucesso da gestão (seja de projetos, pessoas etc)​
  • Adquirir competências básicas sobre qualificação de projetos, que envolvem investimento financeiro​
  • Troca e partilha de experiências, histórias e lessons learned​

Processing of Structured Documents


CC4001 - ECTS

Esta unidade curricular tem por objetivo geral introduzir os alunos aos documentos estruturados e ao seu processamento, sendo abordados o XML e JSON como formalismos de estruturação de documentos, com enfase no primeiro.


Stochastic Processes and Applications


M4064 - ECTS

Pretende-se que os estudantes reconheçam e distingam as propriedades dos diferentes processos estudados, em particular, processos de Poisson, processos de renovamento, cadeias de Markov e movimento Browniano.

Pretende-se que os estudantes desenvolvam capacidades de modelação através da utilização de processos estocásticos mais comuns. Pretende-se ainda que os estudantes consigam simular os vários processos estocásticos estudados assim como utilizar as suas propriedades para responder a determinados problemas concretos.


Mobile Communication Networks


CC4039 - ECTS

Compreenção dos princípios fundamentais do funcionamento das redes de comunicações móveis, focando: os aspectos tecnológicos mais relevantes; as redes locais sem fios; as redes de comunicações móveis de 2ª, 3ª, 4ª e 5ª geração; e os principais serviços em redes de comunicações móveis.


Network Security


CC4031 - ECTS
A disciplina pretende apresentar aos alunos os conceitos e problemas da segurança nas redes de comunicação. Ao longo do período revê-se os conceitos básicos de redes permitindo uma discussão do ponto de vista de segurança dos protocolos de comunicação. A análise e o desenho de arquitetura de redes com segurança como objetivo será desenvolvido, utilizando para isso, técnicas de monitorização e análise de tráfego. Neste sentido, serão apresentadas e utilizadas ferramentas de rede para este estudo. Será abordada a segurança web e ataques à mesma.

Distributed Systems


CC4003 - ECTS

Possibilitar aos alunos uma introdução aos problemas fundamentais no desenho e na implementação de sistemas distribuídos. Ao completarem esta unidade curricular, os alunos deverão ser capazes de:

(a) explicar o que é um sistema distribuído e quais as vantagens e propriedades desejáveis de tais sistemas;
(b) descrever os princípios subjacentes ao funcionamento de sistemas distribuídos, os problemas e desafios
associados, e avaliar a eficácia e limitações das suas soluções;
(c) construir sistemas funcionais utilizando mecanismos de comunicação como sockets, RMI/RPC e Serviços Web.


Information Theory


CC4019 - ECTS
O objectivo da cadeira é introduzir ao aluno os fundamentos de teoria da informação. A teoria da informação é o estudo do que é informação, de como ela pode ser armazenada e transmitida. Isto levanta três questões: Compressão: Como é possível armazenar informação utilizando o mínimo de espaço possível? Correcção de erros: Como é possível transmitir informação de forma fiável, por via de um canal de informação imperfeito? Encriptação: Como é possível transmitir informação de forma privada via um canal público? Esta cadeira trata das duas primeiras questões, a terceira é tratada na cadeira de criptografia do nosso departamento.

Advanced Topics in Networks


CC4037 - ECTS

O objetivo da disciplina é o de aprofundar alguns tópicos selecionados das redes de dados. Os assuntos vão de redes sem fios, mobilidade, tecnologias nos operadores a alguns propostas de investigação. A exposição teórica é complementada com trabalhos laboratoriais nos temas abordados, de modo ao estudante consolidar a teoria apreendida com a sua aplicação.


Verification of Systems


CC4084 - ECTS
Introdução a técnicas formais de verificação de sistemas informáticos baseadas em modelos (model checking).

Computer Vision


CC4016 - ECTS
Esta disciplina introduz os alunos aos conceitos gerais da visão computacional,  nomeadamente a tecnologia de captação de imagens, técnicas básicas de processamento de imagem e vídeo e reconhecimento de padrões. Será também feita uma introdução aos vários campos aplicacionais da visão computacional.

Big Data and Cloud Computing


CC4053 - ECTS
Introdução ao uso de infra-estruturas de "cloud computing" para processamento massivo de dados ("big data") em problemas do mundo real.

Bioinformatics


CC4021 - ECTS

A Bioinformática é um campo do conhecimento interdisciplinar que combina as ciências da computação, a biologia e ciências biomédicas e a estatística. A Bioinformática é orientada à aplicação e desenvolvimento de novos métodos computacionais para expandir o conhecimento biológico, biomédico ou epidemiológico. Os recentes desenvolvimentos nas tecnologias de alto-débito levaram a uma grande revolução na investigação biológica e biomédica e onde hoje a bioinformática assume um papel cada vez mais central na análise de grandes quantidades de dados.

Este curso vai-se focar nos principais algoritmos desenvolvido para responder a tarefas bioinformáticas. Será dado ênfase em algoritmos de processamento e análise de sequências, quer sejam sequências nucleotídicas (exemplo DNA ou RNA) ou sequências de aminoácidos (proteínas).

O objetivo deste curso é de que os estudantes sejam capazes de entender como funcionam estes algoritmos e como podem ser desenvolvidos e aplicados para responder a novos desafios computacionais na análise de sequências biológicas.


Computational Complexity


CC4011 - ECTS

Nesta unidade curricular pretende-se expôr aos alunos técnicas que provem ou sugiram que não existem métodos eficientes para resolver alguns problemas importantes em Ciência de Computadores com impacto na vida real (nomeadamente a factorização). Neste sentido é feito um estudo teórico de várias classes de complexidade, das relações entre elas, tais como: P, NP, co-NP, PSPACE, NL, PH, RP, BPP,  e IP. Ênfase especial será dada ao papel da aleatoridade no desempenho de vários algoritmos.


Computer Graphics


CC4009 - ECTS

O programa proposto é leccionado nas aulas teóricas onde os principais conceitos são introduzidos e são apresentados exemplos aplicáveis relacionados com filme, jogos e aplicações na medicina. Nos laboratórios os alunos resolverão trabalhos práticos relacionados com os conceitos apresentados nas aulas práticas, implementando soluções em C++ ou Python utilizando o OpenGL. Os alunos devem demonstrar a capacidade de compreender os tópicos avançados ao apresentar um artigo relacionado com um dos temas apresentado nas aulas teóricas. Os objectivos da aprendizagem serão integrados num projecto desenvolvidos nos laboratórios.


Data Mining II


CC4024 - ECTS
Identificação e aplicação de técnicas de data mining para a extração de conhecimento a partir de diversas fontes de dados (transações, web, texto, etc.).

Statistical Methods in Data Mining


M4063 - ECTS

Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.


Network Science


CC4070 - ECTS
As redes são uma ferramenta fundamental para modelar sistemas complexos sociais, biológicos e tecnológicos. Tendo também em conta a emergente disponibilidade de dados de larga escala de redes, esta unidade curricular foca-se na análise destas redes, o que acarreta múltiplos desafios computacionais, algorítmicos e de modelação. Irá cobrir investigação recente na estrutura e anaĺise  destas redes, bem como modelos e algoritmos que possam abstrair as suas principais propriedades.

Systems and Data Security


CC4030 - ECTS
Introdução à problemática da segurança dos sistemas de informação e de dados. Obtenção de conhecimento detalhado sobre as principais fragilidades intrínsecas aos sistemas operativos e computadores. Apresentação de metodologias para a construção de sistemas capazes de resistir a ataques, erros de operação e ocorrências
fortuitas provocadas por adversários inteligentes.

Embedded Systems


CC4040 - ECTS

Introduzir os conceitos fundamentais sobre sistemas embutidos e fornecer aos alunos as competências necessárias ao desenvolvimento de aplicações para estas plataformas.

Apresentar aos alunos as capacidades e limitações destes sistemas e a razão da sua disseminação e utilização em variados ambientes.

Introduzir os alunos ao desenvolvimento nestas plataformas, potenciando o trabalho de equipa e a organização da mesma.


Advanced Topics in Algorithms


CC4020 - ECTS
Reforçar conhecimentos de técnicas de concepção de algoritmos e análise da sua correção e complexidade.
Conhecer e aplicar métodos de resolução exata e aproximada para problemas difíceis.

Advanced Topics in Databases


CC4007 - ECTS

Aprender conceitos avançados de Bases de Dados, que passem pela inclusão da utilização de bases de dados relacionais em ambiente de linguagens de programação genéricas. Os alunos aprendem com especial ênfase as "Application Programming Interfaces" APIs em linguagem C de sistemas de gestão de bases de dados como o MySQL. Desenvolvem capacidade de aumentar tais sistemas através de módulos escritos em C.
Aborda-se o conceito de base de dados dedutiva e sistemas de representação de conhecimento.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais. Utiliza-se diversas ferramentas de análise e visualização de informação espacial, através da linguagem de programação Python e módulos como o MatPlotLib.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.
Aprendem-se conceitos de bases de dados noSQL.


Advanced Topics on Artificial Intelligence


CC4022 - ECTS
Proporcionar aos alunos conhecimentos sobre os novos desenvolvimentos em IA que envolvem avanços em áreas tão díspares como lógica, estatística e investigação operacional.

Enfase será colocada em:
  - sistemas probabilísticos, direcionados e não direcionados, incluindo inferência e aprendizagem de parâmetros e de estrutura; ligação â classificadores lineares e redes neuronais
 - representacão lógica: Lógica de primeira ordem (FOL) e Datalog para representação de estrutura; aprendizagem de programas lógicos em Programação Lógica Indutiva (ILP).
- integração: Aprendizagem relacional estatística (SRL) e redes neuronais-lógicas.

O curso requer competências adquiridas em Desenho e Análise de Algoritmos , Inteligência Artificial e Data Mining.

Advanced Topics in Functional Programming


CC4028 - ECTS

Aprofundar os conhecimentos de programação funcional com ênfase em algumas técnicas avançadas para maior modularidade e correção na construção de programas.

Verification of Programs


CC4085 - ECTS
Estudo e utilização de técnicas formais baseadas em lógica e semânticas axiomáticas aplicadas à verificação de programas.

Recommend this page Top
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2025-06-15 at 12:39:05 | Acceptable Use Policy | Data Protection Policy | Complaint Portal