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

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 - Data Mining and Data Processing (72 ECTS credits)
  • Specialization in Computer Science (72 ECTS credits)
  • Specialization in Computer Science - Parallel and Distributed Systems (72 ECTS credits)
  • Specialization in Computer Science - Reliable Computing (72 ECTS credits)

Courses Units

Dissertation

CC5002 - ECTS

Management and Entrepreneurship

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


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 pertencentes à família exponencial (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

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.


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 objetivo 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? Correçã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 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:
  - modelos gráficos probabilísticos, dirigidos e não dirigidos, 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.

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


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


Computer Graphics


CC4009 - ECTS

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.

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.


Advanced Logic and Applications


CC4086 - ECTS
A automatização dos sistemas de prova é uma ferramenta com crescente valor no indústria de software. Nesta disciplina são abordados os fundamentos teóricos assim como as ferramentas que auxiliam nos processos de dedução automática.

Statistical Methods in Data Mining


M4063 - ECTS

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


Network Science


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

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.


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 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 in Networking


CC4090 - ECTS

O objetivo desta unidade curricular é 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 Programs


CC4085 - ECTS
No desenvolvimento de sistemas informáticos de software ou hardware é essencial garantir a sua correção em relação à especificação inicial. No ciclo de produção, o tempo gasto em verificação tem levado a indústria a procurar a utilização de métodos formais de verificação em detrimento de métodos ad-hoc baseados em testes/simulação, que dificilmente cobrem todos os casos e não permitem garantir de forma rigorosa a fiabilidade e segurança dos sistemas. A verificação, sendo um imperativo na área dos sistemas críticos e de tempo real, tem vindo a ser estendida a outras áreas dos sistemas informáticos (p.e. ao comércio eletrónico). Neste contexto, a unidade curricular de Verificação de Programas tem como objetivo a introdução a técnicas formais de verificação de sistemas informático em sistemas dedutivos. 
 

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.


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 pertencentes à família exponencial (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

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.


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 objetivo 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? Correçã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 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:
  - modelos gráficos probabilísticos, dirigidos e não dirigidos, 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.

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


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


Computer Graphics


CC4009 - ECTS

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.

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.


Advanced Logic and Applications


CC4086 - ECTS
A automatização dos sistemas de prova é uma ferramenta com crescente valor no indústria de software. Nesta disciplina são abordados os fundamentos teóricos assim como as ferramentas que auxiliam nos processos de dedução automática.

Statistical Methods in Data Mining


M4063 - ECTS

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


Network Science


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

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.


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 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 in Networking


CC4090 - ECTS

O objetivo desta unidade curricular é 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 Programs


CC4085 - ECTS
No desenvolvimento de sistemas informáticos de software ou hardware é essencial garantir a sua correção em relação à especificação inicial. No ciclo de produção, o tempo gasto em verificação tem levado a indústria a procurar a utilização de métodos formais de verificação em detrimento de métodos ad-hoc baseados em testes/simulação, que dificilmente cobrem todos os casos e não permitem garantir de forma rigorosa a fiabilidade e segurança dos sistemas. A verificação, sendo um imperativo na área dos sistemas críticos e de tempo real, tem vindo a ser estendida a outras áreas dos sistemas informáticos (p.e. ao comércio eletrónico). Neste contexto, a unidade curricular de Verificação de Programas tem como objetivo a introdução a técnicas formais de verificação de sistemas informático em sistemas dedutivos. 
 

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.


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 pertencentes à família exponencial (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

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.


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 objetivo 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? Correçã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 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:
  - modelos gráficos probabilísticos, dirigidos e não dirigidos, 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.

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


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


Computer Graphics


CC4009 - ECTS

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.

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.


Advanced Logic and Applications


CC4086 - ECTS
A automatização dos sistemas de prova é uma ferramenta com crescente valor no indústria de software. Nesta disciplina são abordados os fundamentos teóricos assim como as ferramentas que auxiliam nos processos de dedução automática.

Statistical Methods in Data Mining


M4063 - ECTS

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


Network Science


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

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.


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 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 in Networking


CC4090 - ECTS

O objetivo desta unidade curricular é 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 Programs


CC4085 - ECTS
No desenvolvimento de sistemas informáticos de software ou hardware é essencial garantir a sua correção em relação à especificação inicial. No ciclo de produção, o tempo gasto em verificação tem levado a indústria a procurar a utilização de métodos formais de verificação em detrimento de métodos ad-hoc baseados em testes/simulação, que dificilmente cobrem todos os casos e não permitem garantir de forma rigorosa a fiabilidade e segurança dos sistemas. A verificação, sendo um imperativo na área dos sistemas críticos e de tempo real, tem vindo a ser estendida a outras áreas dos sistemas informáticos (p.e. ao comércio eletrónico). Neste contexto, a unidade curricular de Verificação de Programas tem como objetivo a introdução a técnicas formais de verificação de sistemas informático em sistemas dedutivos. 
 

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.


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 pertencentes à família exponencial (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

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.


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 objetivo 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? Correçã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 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:
  - modelos gráficos probabilísticos, dirigidos e não dirigidos, 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.

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


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


Computer Graphics


CC4009 - ECTS

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.

Implementation of Programming Languages


CC4023 - ECTS

Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.


Advanced Logic and Applications


CC4086 - ECTS
A automatização dos sistemas de prova é uma ferramenta com crescente valor no indústria de software. Nesta disciplina são abordados os fundamentos teóricos assim como as ferramentas que auxiliam nos processos de dedução automática.

Statistical Methods in Data Mining


M4063 - ECTS

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


Network Science


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

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.


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 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 in Networking


CC4090 - ECTS

O objetivo desta unidade curricular é 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 Programs


CC4085 - ECTS
No desenvolvimento de sistemas informáticos de software ou hardware é essencial garantir a sua correção em relação à especificação inicial. No ciclo de produção, o tempo gasto em verificação tem levado a indústria a procurar a utilização de métodos formais de verificação em detrimento de métodos ad-hoc baseados em testes/simulação, que dificilmente cobrem todos os casos e não permitem garantir de forma rigorosa a fiabilidade e segurança dos sistemas. A verificação, sendo um imperativo na área dos sistemas críticos e de tempo real, tem vindo a ser estendida a outras áreas dos sistemas informáticos (p.e. ao comércio eletrónico). Neste contexto, a unidade curricular de Verificação de Programas tem como objetivo a introdução a técnicas formais de verificação de sistemas informático em sistemas dedutivos. 
 

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 18:21:29 | Acceptable Use Policy | Data Protection Policy | Complaint Portal