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). |
Pretende-se, nesta disciplina, que os alunos:
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:
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.
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.
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.
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.
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,...)
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.
Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.
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.
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.
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.
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.
Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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,...)
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.
Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.
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.
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.
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.
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.
Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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,...)
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.
Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.
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.
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.
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.
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.
Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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,...)
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.
Introduzir os conceitos e métodos fundamentais de classificação supervisionada e não supervisionada.
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.
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.
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.
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.
Fornecer aos alunos fundamentos teóricos e técnicas práticas de implementação de linguagens de programação funcionais e orientadas a objetos.
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.
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.
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.
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.
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.