Go to:
Logótipo
Esta página em português Ajuda Autenticar-se
FCUP
You are in:: Start > Courses/CE or Courses/Cycle of Studies or Programmes/Cycle of Studies > M:CC > Informação para Candidatos
Authentication




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's degree 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 This curricular unit, from the last year of the masters degree, has the goal to evaluate the capacity of student’s to perform autonomous, research-level work.

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 conhecimentos 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.


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

A criptografia evoluiu nas últimas décadas, de um mais ou menos obscuro ramo do conhecimento usado essencialmente por militares e espiões, para uma componente essencial das comunicações e escrita de software. Com a virtualização de um grande conjunto de actividades, foi necessário usar a criptografia para assegurar todo um conjunto de propriedades e garantias que as correspondentes transacções presenciais podiam assegurar de outra forma. Hoje, a criptografia desempenha por isso um papel essencial tanto nos protocolos da Internet como nos restantes sistemas de comunicações digitais.

Pretende-se assim:
1. Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança em geral.
2. Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.
3. Estudo de alguns algoritmos criptográficos, suas aplicações e possíveis ataques.


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

Pretende-se que os estudantes adquiram:
a) conhecimentos sobre a recolha organizada de informação
b) técnicas e modelos estatísticos comummente usados no tratamento de dados do âmbito da Ciência e da Engenharia, e saibam aplicá-los adequadamente em R/SPSS 
c) capacidade para saber escolher e aplicar as técnicas e modelos estatísticos aprendidos a problemas concretos
d) espírito crítico e capacidade de interpretação dos resultados obtidos por aplicação das técnicas e modelos estatísticos aprendidos.

 


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

Sensibilizar e partilhar com os alunos as capacidades e competências necessárias, em termos de conhecimentos, aptidões, ferramentas e técnicas, que permitam ultrapassar e resolver de forma eficaz os inúmeros problemas que surgem na gestão e desenvolvimento de projectos informáticos em equipa numa organização real.


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.


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 5a geração; e os principais serviços em redes de comunicações móveis.


Seminar


CC4025 - ECTS

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 e Serviços Web.


Information Theory


CC4019 - ECTS

O objectivo da disciplina de Teoria da Informação é expor conceitos fundamentais relacionados com teoria da informação e as suas aplicações em sistemas e redes de comunicações e ciência de computadores.


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.


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.

Bioinformatics


CC4021 - ECTS

COVID-19: Atividades Letivas à Distância
Devido a esta situação os critérios de avaliação foram alterados. Verifique por favor na parte da avaliação.



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 (texto, web, etc.).

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos estudantes fundamentos teóricos e técnicas práticas de implementação de linguagens de programação declarativas.


Statistical Methods in Data Mining


M4063 - ECTS

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


Stochastic Processes and Applications


M4064 - ECTS

Disciplina introdutória aos processos estocásticos. Pretende-se apresentar um conjunto de ferramentas para a descrição e análise de processos estocásticos em áreas diversificadas, como processamento de sinal, teoria da informação, ambiente, economia e finanças, biologia e medicina. A orientação da disciplina privilegia a compreensão dos conceitos e métodos e a sua aplicação em áreas interdisciplinares utilizando dados simulados ou reais.


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.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.


Advanced Topics on Artificial Intelligence


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

Enfase será colocado em:
  - sistemas probabilisticos, direcionados e não direcionados, incluindo inferencia e aprendizagem de parametros; ligaćão a classificadores lineares e redes neuronais
 - representacão lógica: FOL, e Datalog para representaćão de estrutura; aprendizagem de programas lógicas em ILP.
- integraćao: SRL e redes neuronais-lógicas.

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

Advanced Topics in Logic


CC4026 - ECTS
Aplicação de tópicos avançados de lógica na resolução de problemas em várias áreas de ciência de computadores.

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.

Formal Verification of Software


CC4008 - ECTS
Estudo e utilização de técnicas formais baseadas em modelos e em demonstração aplicadas à verificação de sistemas e 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 conhecimentos 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.


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

A criptografia evoluiu nas últimas décadas, de um mais ou menos obscuro ramo do conhecimento usado essencialmente por militares e espiões, para uma componente essencial das comunicações e escrita de software. Com a virtualização de um grande conjunto de actividades, foi necessário usar a criptografia para assegurar todo um conjunto de propriedades e garantias que as correspondentes transacções presenciais podiam assegurar de outra forma. Hoje, a criptografia desempenha por isso um papel essencial tanto nos protocolos da Internet como nos restantes sistemas de comunicações digitais.

Pretende-se assim:
1. Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança em geral.
2. Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.
3. Estudo de alguns algoritmos criptográficos, suas aplicações e possíveis ataques.


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

Pretende-se que os estudantes adquiram:
a) conhecimentos sobre a recolha organizada de informação
b) técnicas e modelos estatísticos comummente usados no tratamento de dados do âmbito da Ciência e da Engenharia, e saibam aplicá-los adequadamente em R/SPSS 
c) capacidade para saber escolher e aplicar as técnicas e modelos estatísticos aprendidos a problemas concretos
d) espírito crítico e capacidade de interpretação dos resultados obtidos por aplicação das técnicas e modelos estatísticos aprendidos.

 


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

Sensibilizar e partilhar com os alunos as capacidades e competências necessárias, em termos de conhecimentos, aptidões, ferramentas e técnicas, que permitam ultrapassar e resolver de forma eficaz os inúmeros problemas que surgem na gestão e desenvolvimento de projectos informáticos em equipa numa organização real.


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.


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 5a geração; e os principais serviços em redes de comunicações móveis.


Seminar


CC4025 - ECTS

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 e Serviços Web.


Information Theory


CC4019 - ECTS

O objectivo da disciplina de Teoria da Informação é expor conceitos fundamentais relacionados com teoria da informação e as suas aplicações em sistemas e redes de comunicações e ciência de computadores.


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.


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.

Bioinformatics


CC4021 - ECTS

COVID-19: Atividades Letivas à Distância
Devido a esta situação os critérios de avaliação foram alterados. Verifique por favor na parte da avaliação.



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 (texto, web, etc.).

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos estudantes fundamentos teóricos e técnicas práticas de implementação de linguagens de programação declarativas.


Statistical Methods in Data Mining


M4063 - ECTS

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


Stochastic Processes and Applications


M4064 - ECTS

Disciplina introdutória aos processos estocásticos. Pretende-se apresentar um conjunto de ferramentas para a descrição e análise de processos estocásticos em áreas diversificadas, como processamento de sinal, teoria da informação, ambiente, economia e finanças, biologia e medicina. A orientação da disciplina privilegia a compreensão dos conceitos e métodos e a sua aplicação em áreas interdisciplinares utilizando dados simulados ou reais.


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.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.


Advanced Topics on Artificial Intelligence


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

Enfase será colocado em:
  - sistemas probabilisticos, direcionados e não direcionados, incluindo inferencia e aprendizagem de parametros; ligaćão a classificadores lineares e redes neuronais
 - representacão lógica: FOL, e Datalog para representaćão de estrutura; aprendizagem de programas lógicas em ILP.
- integraćao: SRL e redes neuronais-lógicas.

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

Advanced Topics in Logic


CC4026 - ECTS
Aplicação de tópicos avançados de lógica na resolução de problemas em várias áreas de ciência de computadores.

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.

Formal Verification of Software


CC4008 - ECTS
Estudo e utilização de técnicas formais baseadas em modelos e em demonstração aplicadas à verificação de sistemas e 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 conhecimentos 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.


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

A criptografia evoluiu nas últimas décadas, de um mais ou menos obscuro ramo do conhecimento usado essencialmente por militares e espiões, para uma componente essencial das comunicações e escrita de software. Com a virtualização de um grande conjunto de actividades, foi necessário usar a criptografia para assegurar todo um conjunto de propriedades e garantias que as correspondentes transacções presenciais podiam assegurar de outra forma. Hoje, a criptografia desempenha por isso um papel essencial tanto nos protocolos da Internet como nos restantes sistemas de comunicações digitais.

Pretende-se assim:
1. Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança em geral.
2. Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.
3. Estudo de alguns algoritmos criptográficos, suas aplicações e possíveis ataques.


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

Pretende-se que os estudantes adquiram:
a) conhecimentos sobre a recolha organizada de informação
b) técnicas e modelos estatísticos comummente usados no tratamento de dados do âmbito da Ciência e da Engenharia, e saibam aplicá-los adequadamente em R/SPSS 
c) capacidade para saber escolher e aplicar as técnicas e modelos estatísticos aprendidos a problemas concretos
d) espírito crítico e capacidade de interpretação dos resultados obtidos por aplicação das técnicas e modelos estatísticos aprendidos.

 


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

Sensibilizar e partilhar com os alunos as capacidades e competências necessárias, em termos de conhecimentos, aptidões, ferramentas e técnicas, que permitam ultrapassar e resolver de forma eficaz os inúmeros problemas que surgem na gestão e desenvolvimento de projectos informáticos em equipa numa organização real.


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.


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 5a geração; e os principais serviços em redes de comunicações móveis.


Seminar


CC4025 - ECTS

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 e Serviços Web.


Information Theory


CC4019 - ECTS

O objectivo da disciplina de Teoria da Informação é expor conceitos fundamentais relacionados com teoria da informação e as suas aplicações em sistemas e redes de comunicações e ciência de computadores.


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.


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.

Bioinformatics


CC4021 - ECTS

COVID-19: Atividades Letivas à Distância
Devido a esta situação os critérios de avaliação foram alterados. Verifique por favor na parte da avaliação.



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 (texto, web, etc.).

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos estudantes fundamentos teóricos e técnicas práticas de implementação de linguagens de programação declarativas.


Statistical Methods in Data Mining


M4063 - ECTS

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


Stochastic Processes and Applications


M4064 - ECTS

Disciplina introdutória aos processos estocásticos. Pretende-se apresentar um conjunto de ferramentas para a descrição e análise de processos estocásticos em áreas diversificadas, como processamento de sinal, teoria da informação, ambiente, economia e finanças, biologia e medicina. A orientação da disciplina privilegia a compreensão dos conceitos e métodos e a sua aplicação em áreas interdisciplinares utilizando dados simulados ou reais.


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.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.


Advanced Topics on Artificial Intelligence


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

Enfase será colocado em:
  - sistemas probabilisticos, direcionados e não direcionados, incluindo inferencia e aprendizagem de parametros; ligaćão a classificadores lineares e redes neuronais
 - representacão lógica: FOL, e Datalog para representaćão de estrutura; aprendizagem de programas lógicas em ILP.
- integraćao: SRL e redes neuronais-lógicas.

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

Advanced Topics in Logic


CC4026 - ECTS
Aplicação de tópicos avançados de lógica na resolução de problemas em várias áreas de ciência de computadores.

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.

Formal Verification of Software


CC4008 - ECTS
Estudo e utilização de técnicas formais baseadas em modelos e em demonstração aplicadas à verificação de sistemas e 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 conhecimentos 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.


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

A criptografia evoluiu nas últimas décadas, de um mais ou menos obscuro ramo do conhecimento usado essencialmente por militares e espiões, para uma componente essencial das comunicações e escrita de software. Com a virtualização de um grande conjunto de actividades, foi necessário usar a criptografia para assegurar todo um conjunto de propriedades e garantias que as correspondentes transacções presenciais podiam assegurar de outra forma. Hoje, a criptografia desempenha por isso um papel essencial tanto nos protocolos da Internet como nos restantes sistemas de comunicações digitais.

Pretende-se assim:
1. Introduzir a problemática da segurança das redes e sistemas informáticos assim como o problema da segurança em geral.
2. Apresentar um conjunto suficientemente expressivo de protocolos criptográficos que permitam geralmente transcrever as actividades sociais do mundo físico para o suporte digital.
3. Estudo de alguns algoritmos criptográficos, suas aplicações e possíveis ataques.


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

Pretende-se que os estudantes adquiram:
a) conhecimentos sobre a recolha organizada de informação
b) técnicas e modelos estatísticos comummente usados no tratamento de dados do âmbito da Ciência e da Engenharia, e saibam aplicá-los adequadamente em R/SPSS 
c) capacidade para saber escolher e aplicar as técnicas e modelos estatísticos aprendidos a problemas concretos
d) espírito crítico e capacidade de interpretação dos resultados obtidos por aplicação das técnicas e modelos estatísticos aprendidos.

 


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

Sensibilizar e partilhar com os alunos as capacidades e competências necessárias, em termos de conhecimentos, aptidões, ferramentas e técnicas, que permitam ultrapassar e resolver de forma eficaz os inúmeros problemas que surgem na gestão e desenvolvimento de projectos informáticos em equipa numa organização real.


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.


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 5a geração; e os principais serviços em redes de comunicações móveis.


Seminar


CC4025 - ECTS

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 e Serviços Web.


Information Theory


CC4019 - ECTS

O objectivo da disciplina de Teoria da Informação é expor conceitos fundamentais relacionados com teoria da informação e as suas aplicações em sistemas e redes de comunicações e ciência de computadores.


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.


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.

Bioinformatics


CC4021 - ECTS

COVID-19: Atividades Letivas à Distância
Devido a esta situação os critérios de avaliação foram alterados. Verifique por favor na parte da avaliação.



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 (texto, web, etc.).

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos estudantes fundamentos teóricos e técnicas práticas de implementação de linguagens de programação declarativas.


Statistical Methods in Data Mining


M4063 - ECTS

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


Stochastic Processes and Applications


M4064 - ECTS

Disciplina introdutória aos processos estocásticos. Pretende-se apresentar um conjunto de ferramentas para a descrição e análise de processos estocásticos em áreas diversificadas, como processamento de sinal, teoria da informação, ambiente, economia e finanças, biologia e medicina. A orientação da disciplina privilegia a compreensão dos conceitos e métodos e a sua aplicação em áreas interdisciplinares utilizando dados simulados ou reais.


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.
Aprendem-se ainda conceitos de bases de dados espaciais, estudando-se o módulo PostGIS. Aprende-se SQL com extensões espaciais.
Aprendem-se conceitos de Data Warehousing e operadores avançados de agregação.


Advanced Topics on Artificial Intelligence


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

Enfase será colocado em:
  - sistemas probabilisticos, direcionados e não direcionados, incluindo inferencia e aprendizagem de parametros; ligaćão a classificadores lineares e redes neuronais
 - representacão lógica: FOL, e Datalog para representaćão de estrutura; aprendizagem de programas lógicas em ILP.
- integraćao: SRL e redes neuronais-lógicas.

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

Advanced Topics in Logic


CC4026 - ECTS
Aplicação de tópicos avançados de lógica na resolução de problemas em várias áreas de ciência de computadores.

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.

Formal Verification of Software


CC4008 - ECTS
Estudo e utilização de técnicas formais baseadas em modelos e em demonstração aplicadas à verificação de sistemas e programas.

Recommend this page Top
Copyright 1996-2020 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2020-08-14 at 04:11:12