Saltar para:
Logótipo
Você está em: Início > Cursos/CE > M:CC > Informação para Candidatos
Mapa das Instalações
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

Cursos

Mestrado em Ciência de Computadores

Dados Gerais

Código Oficial: 6026
Sigla: M:CC
Descrição: O Mestrado em Ciência de Computadores visa a formação avançada e de qualidade de profissionais e investigadores em diferentes especialidades da área científica de Ciência de Computadores. Neste curso são aprofundadas competências profissionais em Ciência de Computadores / Informática através das componentes teórica, prática e de investigação, para seguir de imediato uma carreira numa empresa, ou para prosseguir investigação científica. Para tal, é privilegiado o contacto com as empresas e com vários centros de investigação de excelência (INESC TEC, IT-Instituto de Telecomunicações, LIACC e CMUP).

Diplomas

  • Mestrado em Ciência de Computadores - Sistemas Paralelos e Distribuídos (120 Créditos ECTS)
  • Mestrado em Ciência de Computadores (120 Créditos ECTS)
  • Mestrado em Ciência de Computadores - Computação Confiável (120 Créditos ECTS)
  • Mestrado em Ciência de Computadores - Data Mining e Processamento de Dados (120 Créditos ECTS)
  • Curso de Mestrado em Ciência de Computadores - Data Mining e Processamento de Dados (72 Créditos ECTS)
  • Curso de Mestrado em Ciência de Computadores (72 Créditos ECTS)
  • Curso de Mestrado em Ciência de Computadores - Sistemas Paralelos e Distribuídos (72 Créditos ECTS)
  • Curso de Mestrado em Ciência de Computadores - Computação Confiável (72 Créditos ECTS)

Unidades Curriculares

Dissertação

CC5002 - ECTS

Gestão e Empreendedorismo

GES4000 - ECTS

Pretende-se, nesta disciplina, que os alunos: 

  • Disponham de uma visão global sobre a gestão das organizações e que, em particular, compreendam as principais opções estratégicas que se colocam às empresas; 
  • Apreendam noções básicas sobre análise económico-financeira de empresas que lhes permitam analisar os principais documentos contabilísticos de síntese; 
  • Adquiram competências básicas em matéria de empreendedorismo, que lhes permitam, a partir de uma ideia, construir um projecto empresaria ou negócio.

Sociologia e Ética da Informática

DPI4001 - ECTS

A informática desempenha hoje um papel fundamental na sociedade,  sendo por isso importante perceber e reflectir as questões sociais  e éticas que a sua utilização suscita.

São objetivos do curso:

  • fomentar a reflexão crítica sobre as questões sociais e éticas levantadas pelo utilização de computadores e da Internet;
  • alertar para códigos de conduta, normas sobre privacidade de informação, e legislação pertinente com impacto na atividade profissional futura;
  • contribuir para melhorar as capacidades de comunicação oral e escrita.

Algoritmos


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.


Computação Paralela


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.


Criptografia


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.


Estatística Aplicada em Ciências e Engenharia


M4083 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas com uma distribuição pertencente à 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,...)


Fundamentos de Linguagens de Programação


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. 


Gestão de Projetos Informáticos


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​

Métodos Estatísticos em Data Mining


M4063 - ECTS

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


Processamento de Documentos Estruturados


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.


Segurança de Redes


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.

Sistemas Distribuídos


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.


Teoria da Informação


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.

Tópicos Avançados em Inteligência Artificial


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.

Verificação de Sistemas


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

Visão Computacional


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

Bioinformática


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.


Complexidade Computacional


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. 


Computação Gráfica


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. O enfoque será dado a regras de associação (association rules), mineração de sequências (sequence mining), sistemas de recomendação (recommendation systems), análise de links (link analysis), recuperação de informação (information retrieval) e mineração de texto (text mining).

Implementação de Linguagens


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.


Processos Estocásticos e Aplicações


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.


Redes de Comunicações Móveis


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.


Segurança de Sistemas e Dados


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.

Sistemas Embutidos


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.


Tópicos Avançados em Algoritmos


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.

Tópicos Avançados em Bases de Dados


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.


Tópicos Avançados em Redes


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.


Verificação de Programas


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. 
 

Algoritmos


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.


Computação Paralela


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.


Criptografia


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.


Estatística Aplicada em Ciências e Engenharia


M4083 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas com uma distribuição pertencente à 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,...)


Fundamentos de Linguagens de Programação


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. 


Gestão de Projetos Informáticos


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​

Métodos Estatísticos em Data Mining


M4063 - ECTS

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


Processamento de Documentos Estruturados


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.


Segurança de Redes


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.

Sistemas Distribuídos


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.


Teoria da Informação


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.

Tópicos Avançados em Inteligência Artificial


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.

Verificação de Sistemas


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

Visão Computacional


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

Bioinformática


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.


Complexidade Computacional


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. 


Computação Gráfica


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. O enfoque será dado a regras de associação (association rules), mineração de sequências (sequence mining), sistemas de recomendação (recommendation systems), análise de links (link analysis), recuperação de informação (information retrieval) e mineração de texto (text mining).

Implementação de Linguagens


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.


Processos Estocásticos e Aplicações


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.


Redes de Comunicações Móveis


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.


Segurança de Sistemas e Dados


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.

Sistemas Embutidos


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.


Tópicos Avançados em Algoritmos


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.

Tópicos Avançados em Bases de Dados


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.


Tópicos Avançados em Redes


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.


Verificação de Programas


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. 
 

Algoritmos


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.


Computação Paralela


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.


Criptografia


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.


Estatística Aplicada em Ciências e Engenharia


M4083 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas com uma distribuição pertencente à 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,...)


Fundamentos de Linguagens de Programação


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. 


Gestão de Projetos Informáticos


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​

Métodos Estatísticos em Data Mining


M4063 - ECTS

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


Processamento de Documentos Estruturados


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.


Segurança de Redes


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.

Sistemas Distribuídos


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.


Teoria da Informação


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.

Tópicos Avançados em Inteligência Artificial


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.

Verificação de Sistemas


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

Visão Computacional


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

Bioinformática


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.


Complexidade Computacional


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. 


Computação Gráfica


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. O enfoque será dado a regras de associação (association rules), mineração de sequências (sequence mining), sistemas de recomendação (recommendation systems), análise de links (link analysis), recuperação de informação (information retrieval) e mineração de texto (text mining).

Implementação de Linguagens


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.


Processos Estocásticos e Aplicações


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.


Redes de Comunicações Móveis


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.


Segurança de Sistemas e Dados


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.

Sistemas Embutidos


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.


Tópicos Avançados em Algoritmos


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.

Tópicos Avançados em Bases de Dados


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.


Tópicos Avançados em Redes


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.


Verificação de Programas


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. 
 

Algoritmos


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.


Computação Paralela


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.


Criptografia


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.


Estatística Aplicada em Ciências e Engenharia


M4083 - ECTS

1. Capacitar o aluno para análises de regressão envolvendo respostas com uma distribuição pertencente à 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,...)


Fundamentos de Linguagens de Programação


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. 


Gestão de Projetos Informáticos


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​

Métodos Estatísticos em Data Mining


M4063 - ECTS

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


Processamento de Documentos Estruturados


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.


Segurança de Redes


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.

Sistemas Distribuídos


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.


Teoria da Informação


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.

Tópicos Avançados em Inteligência Artificial


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.

Verificação de Sistemas


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

Visão Computacional


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

Bioinformática


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.


Complexidade Computacional


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. 


Computação Gráfica


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. O enfoque será dado a regras de associação (association rules), mineração de sequências (sequence mining), sistemas de recomendação (recommendation systems), análise de links (link analysis), recuperação de informação (information retrieval) e mineração de texto (text mining).

Implementação de Linguagens


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.


Processos Estocásticos e Aplicações


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.


Redes de Comunicações Móveis


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.


Segurança de Sistemas e Dados


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.

Sistemas Embutidos


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.


Tópicos Avançados em Algoritmos


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.

Tópicos Avançados em Bases de Dados


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.


Tópicos Avançados em Redes


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.


Verificação de Programas


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. 
 

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-05-05 às 01:37:10 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias