MI PT - DI @ UMinho

Propaganda
Informática
Descrição:
Qualificação e Título – Mestrado em Informática, Mestre.
Duração oficial - 2 anos/4 semestres/40 semanas de estudo a tempo inteiro por ano/120
créditos ECTS.
Requisitos de acesso – Licenciatura (180 ECTS) em Informática, Engenharia
Informática, Ciências da Computação ou formação com reconhecimento Europeu
equivalente. Licenciatura (180 ECTS) em área afim (Electrónica,Engenharia de
Sistemas, Engenharia de Comunicações, Sistemas de Informação, etc.) ou formação
com reconhecimento Europeu equivalente.
Requisitos do programa de estudos – O grau de Mestre de Informática visa formar
profissionais com uma sólida formação ao nível dos fundamentos e métodos das
ciências e tecnologias da computação, capazes de acompanhar e contribuir de forma
crítica e criativa o aprofundamento da evolução tecnológica e o alargamento do seu
espectro aplicacional.
A esta formação visa ainda o curso aliar uma componente de concepção de sistemas
assim como desenvolver competências específicas para a persecução de projectos de
investigação e desenvolvimento.
De uma forma geral, o curso visa ainda o desenvolvimento do espírito crítico, da
capacidade de participar e liderar equipas de projecto nesta área assim como o estímulo
das capacidades de iniciativa, proposta e inovação.
Acesso a um nível de estudos superior - O grau de Mestre permite a candidatura a
estudos de doutoramento, nos termos descritos em
DGES/Reconhecimento+Académico/Suplemento+ao+Diploma/.
Estatuto e Saídas profissionais – Associado ao grau de Mestre de Informática estão
duas especialidades livremente escolhidas pelo aluno. Cada uma dessas unidade
configura uma proposta de formação coerente numa área aplicacional específica,
enunciada na tríplice vertente dos fundamentos, das tecnologias e das aplicações e
integrando uma componente horizontal de projecto.
O Seminário associado ao projecto de investigação, é baseado num plano de trabalho
especificamente desenhado para cada aluno, podendo incluir módulos de formação
complementar, métodos de investigação, ética e deontologia profissional, técnicas de
expressão oral e escrita e outras componentes orientadas à realização do projecto de
investigação.
O perfil de formação acima traçado capacita o Mestre de Informática para o exercício de
um leque muito amplo de actividades profissionais quer directamente na florescente
indústria associada às Tecnologias de Informação, quer em outras componentes da
indústria e dos serviços. A formação ministrada torna ainda possível a persecução com
êxito de carreiras de índole científico e o acesso ao 3º Ciclo de Formação Superior.
Local Funcionamento: Campus de Gualtar, Braga
Director: José Bernardo Santos Monteiro Vieira Barros
Coordenadores ECTS
Paulo Jorge Sousa Azevedo
Ano Código
1
Unidade Curricular
000007 Opção I
* Análise e Concepção de Software
Regime ECTS
A
30,0
* Bioinformática
* Computação Gráfica
* Computação Móvel e Ubíqua
* Computação Paralela Distribuída
* Criptografia e Segurança de Sistemas de Informação
* Engenharia de Aplicações
* Engenharia de Linguagens
* Engenharia de Redes e Serviços
* Métodos Formais em Engenharia de Software
* Sistemas Distribuídos
* Sistemas Inteligentes
* Sistemas de Suporte à Decisão
* Tecnologias e Protocolos de Infra-Estrutura
1
000008 Opção II
A
* Análise e Concepção de Software
* Bioinformática
* Computação Gráfica
* Computação Móvel e Ubíqua
* Computação Paralela Distribuída
* Criptografia e Segurança de Sistemas de Informação
* Engenharia de Aplicações
* Engenharia de Linguagens
* Engenharia de Redes e Serviços
* Métodos Formais em Engenharia de Software
* Sistemas Distribuídos
* Sistemas Inteligentes
* Sistemas de Suporte à Decisão
* Tecnologias e Protocolos de Infra-Estrutura
30,0
2
000000 Dissertação
A
45,0
2
000335 Seminário
S1
15,0
A Opção I e Opção II são constituídas pela mesma lista de UCE opcionais devendo os
alunos escolher duas UCE’s diferentes.
000007 - Opção I
000008 – Opção II
Lista das Unidades Curriculares de Especialização (UCE’s) opcionais:
* Análise e Concepção de Software
Regime: A
Tipo: Opcional
Programa:
Pré-requisitos:
Resultados de Aprendizagem:
Bibliografia:
Docentes:
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação:
Língua de Instrução: Português
Créditos: 30,0
* Bioinformática
Regime: A
Tipo: Opcional
Programa:
1. Biologia Molecular e Celular
Armazenamento e transporte de energia nas células. Glicólise, ciclo de Krebs,
fosforilação oxidativa. Transportadores de electrões em sistemas biológicos.
Mecanismo quimio-osmótico de formação de ATP. Via das pentoses-fosfato. Formação
de NADPH e interconversão hexoses/pentoses. Organização dos sistemas vivos.
Diferenciação celular. Principais métodos de estudo da célula: métodos citológicos e
bioquímicos. Biomembranas: estrutura e função, sistemas de transporte. Núcleo: ultraestrutura, composição, organização e funções. Replicação do DNA. Transcrição,
tradução e as moléculas mRNA, tRNA e rRNA. Citosol: composição e principais
características. Compartimentação endomembranar. Retículo endoplasmático: funções
na síntese lipídica e proteica. Ultraestrutura e função do Complexo de Golgi.
Lisossomas. Peroxisomas. Mitocôndria. Citoesqueleto.
2. Engenharia Bioquímica
Problemas Fundamentais da Engenharia Bioquímica: papel dos bio-reactores em
Biotecnologia; organismos e meios de cultura industriais.
Cinética do Crescimento Microbiano: parâmetros de crescimento; análise de dados de
crescimento; equação de Monod e outras equações descritivas do crescimento
microbiano; taxas específicas de consumo e produção.
Variáveis de Estado: biomassa, substrato, produtos, determinação Experimental.
Modos de Operação de Reactores Biológicos: cultura em contínuo / quimiostato, cultura
em modo semi-contínuo, cultura em descontínuo.
Estequiometria das Reacções Microbianas: equação estequiométrica geral, necessidades
em carbono e energia.
3. Algoritmos e Tecnologias da Bioinformática
Introdução aos conceitos da Bioinformática; Bases de dados biológicas; Algoritmos de
alinhamento de sequências e pesquisas em bases de dados por similaridade;
Alinhamento múltiplo; Procura de padrões em sequências; Análise filogenética;
Clustering de microarrays; Previsão da estrutura e alinhamento estrutural de proteínas.
4. Métodos estatísticos para a Bioinformática
Distribuições de Probabilidade. Inferência Estatística. Planeamento de Experiências.
Regressão linear. Regressão Logística. Processos estocásticos e modelos de Markov;
Métodos estatísticos para a análise de sequências; Aplicações na análise de dados de
microarrays.
5. Extracção de Conhecimento em Bases de Dados Biológicas
Sistemas de suporte à decisão; Processamento analítico de dados; Data Warehousing;
Mineração de Dados e Aprendizagem Máquina: Modelos e algoritmos de classificação e
regressão; Indução de árvores de decisão e regras de classificação; Aprendizagem
baseada em instâncias. Redes Neuronais Artificiais, Kernel methods e Support Vector
Machines.
Aplicações na Bioinformática: classificação de dados de microarrays, descoberta de
genes, classificação e previsão da estrutura de proteínas, etc. Noções de mineração de
texto e aplicações.
Pré-requisitos:
Lic. 1º ciclo na área da Informática e afins.
Resultados de Aprendizagem:
- Identificar, definir e descrever estrutural e funcionalmente as principais biomoléculas,
vias metabólicas, processos ao nível intra-celular incluindo a síntese proteica.
- Identificar e descrever os mecanismos de crescimento microbiano e de mistura e
transferência de massa e de calor em reactores biológicos bem como os princípios da
Engenharia Metabólica
- Identificar os principais problemas na área da Bioinformática e saber seleccionar os
algoritmos e as técnicas computacionais mais adequadas, sabendo procurar, utilizar,
classificar e avaliar aplicações de software disponível na área da Bioinformática e de
Extracção de Conhecimento.
- Analisar os resultados e o interpretar o significado biológico de ferramentas de
Bioinformática e análise dados biológicos.
- Conhecer e ser capaz de desenhar e implementar os principais algoritmos relacionados
com a Bioinformática e as técnicas de Aprendizagem Máquina e Mineração de Dados.
- Formular e testar hipóteses de acordo com o método estatístico mais adequado no
contexto da análise de dados biológicos;
Bibliografia:
- D. Mount, Bioinformatics: Sequence and genome analysis, Cold Spring Harbor
Laboratory Press, New York, 2001.
- A. Baxevanis, F. Ouellete (Eds) Bioinformatics: A Practical Guide to the Analysis of
Genes and Proteins, Wiley, 2004
- N. C. Jones, P. Pevzner, An Introduction to Bioinformatics Algorithms, MIT Press,
2004
Docentes:
Miguel Pereira Rocha (Dep. Informática)
Rui Mendes (Dep. Informática)
José Teixeira (Dep. Eng. Biológica)
Isabel Pereira Rocha (Dep. Eng. Biol.)
Rui Oliveira (Dep. Biologia)
Pedro Oliveira (Dep. Produção e Sistemas)
Carga Horária: 300,0
Métodos de Ensino:
Aulas teóricas
Aulas práticas em laboratório
Estudo individual
Trabalho em grupo
Trabalho de projecto
Métodos de Avaliação:
Teste escrito
Avaliação contínua dos diversos módulos
Projecto integrador
Língua de Instrução: Português
Créditos: 30,0
* Computação Gráfica
Regime: A
Tipo: Opcional
Programa:
A presente UCE organiza-se em torno de 4 módulos temáticos, correspondendo cada
um a 5 ECTS, articulados entre si por um 'bus' laboratorial, denominado projecto
integrado, que garante a experimentação, a aplicação prática e a integração dos
resultados da aprendizagem. Esta estrutura é apresentada na seguinte figura.
Os módulos referidos são os seguintes:
* Visão por Computador (VC) - 5 ECTS
* Realidade Virtual e Aumentada (RVA) - 5 ECTS
* Modelação e Visualização (MV) - 5 ECTS
* Iluminação e Foto-Realismo (IFR) - 5 ECTS
* Projecto Integrado (PI) - 10 ECTS
Pré-requisitos: Conhecimentos de programação sólidos e algum conhecimento de
Computação Gráfica
Resultados de Aprendizagem:
Identificar, classificar e utilizar técnicas de processamento de imagem e extracção de
conhecimento a partir de imagens;
Identificar, classificar e aplicar os principais algoritmos e técnicas, básicas e avançadas,
de desenho e desenvolvimento de sistemas e aplicações de realidade virtual e
aumentada;
Modelar, através de técnicas algorítmicas, permitindo a criação de geometria e
materiais;
Implementar aplicações gráficas de forma optimizada recorrendo ao CPU e GPU, por
exemplo para visualização em tempo real;
Analisar, classificar e implementar modelos e algoritmos de iluminação foto-realista;
Conceber e avaliar soluções e arquitecturas de aplicações de computação gráfica por
forma a obter um elevado nível de qualidade e/ou desempenho de acordo com os
requisitos do problema.
Bibliografia:
"OpenGL Programming Guide", Woo, Neider, Davis and Schneider, Addison Wesley.
Referência obrigatória!
"Interactive Computer Graphics", Edward Angel, Addison Wesley. Boa introdução.
"Real-Time Rendering", Moller and Haines. Boa visão geral do estado da arte.
"OpenGL Shading Language", Randi J. Rost. Excelente livro de introdução à
programação de shaders em GLSL.
Rafael C. Gonzalez; Richard E. Woods; “Digital Image Processing”, Addison Wesley
Ramesh Jain, Rangachan Kasturi, Brian G. Schunck, “Machine Vision”; McGraw-HILL
Robert M. Haralick, Linda G. Shapiro; “Computer and Robot Vision”, Addison Wesley
J.C. Russ; “The Image Processing Handbook”, CRC Press Inc.
“Physically Based Rendering: from Theory to Implementation”; Matt Pharr and Greg
Humphreys; Morgan Kaufmann; ISBN: 0-12-553180-X; 2004
Web page: http://www.pbrt.org
“Spatial Augmented Reality: Merging Real and Virtual Worlds”, Oliver Bimber and
Ramesh Raskar, A.K. Peters, 2005.
“Virtual Reality Technology”, Grigore Burdea and Pholippe Coiffet, IEEE Press, 2004.
Docentes:
António Ramires Fernandes
Luís Paulo Santos
Manuel João Ferreira
Adérito Marcos
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação: Provas escritas e trabalhos práticos
Língua de Instrução: Português
Créditos: 30,0
* Computação Móvel e Ubíqua
Regime: A
Tipo: Opcional
Programa:
Pré-requisitos:
Resultados de Aprendizagem:
Bibliografia:
Docentes:
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação:
Língua de Instrução: Português
Créditos: 30,0
* Computação Paralela Distribuída
Regime: A
Tipo: Opcional
Programa:
Sistemas de Computação e Desempenho: (1º sem)
 evolução recente da arquitectura de processadores: pipeline, superescalaridade,
multi-threading, multi-core; hierarquia de memória em ambiente partilhado
 avaliação de desempenho na execução de aplicações: métricas, profiling, análise
e afinação de código (destaque para ciclos iterativos, manuseamento de matrizes
e chamada de funções), benchmarking
 evolução do paralelismo nas arquitecturas: arquitecturas vectoriais, arquitecturas
paralelas com memória partilhada e memória distribuída, arquitecturas
distribuídas em rede; análise de desempenho em arquitecturas paralelas
Planeamento e Administração de Clusters: (1º sem)
 introdução aos clusters: arquitectura (terminologia, tecnologias, limitações);
equipamentos (componentes individuais e de rede, coordenação de recursos
descentralizados)
 Linux para clusters Beowulf: características; instalação e configuração de
serviços; segurança
 planeamento e construção de clusters: missão, arquitectura e suporte lógico;
sistemas de ficheiros paralelo; tecnologias de interligação; clonagem e
automatização de instalações
 gestão de clusters: modelos de execução de trabalhos, monitorização e
administração de utilizadores e recursos, políticas de escalonamento e
contabilização, segurança de dados, análise de desempenho e afinação
 construção de grids: arquitectura, protocolo e serviços; modelos de utilização e
segurança; interfaces de programação
 estudo de caso (o cluster SEARCH na Universidade do Minho, com Rocks,
Ganglia, OpenPBS, Maui, GPFS
Paradigmas de Computação Paralela: (2º sem)
 modelos de programação: fios de execução, passagem de mensagens, objectos
distribuídos, workflows

metodologias de desenvolvimento de aplicações paralelas: partição,
comunicação, agregação e mapeamento de tarefas
 análise de algoritmos paralelos típicos: pipelining, farming, heartbeat e divide &
conquer
 medição e optimização do desempenho de aplicações em sistemas de memória
distribuída
 escalonamento de recursos ao nível da aplicação
Algoritmos e Métodos Numéricos: (2º sem)
 métodos de Monte Carlo: geradores sequenciais e paralelos de números
aleatórios, aplicações do método de Monte Carlo (case studies)
 multiplicação de matrizes: implementações sequenciais, implementações
paralelas no modelo message-passing
 sistemas de equações lineares: método de eliminação de Gauss, métodos
iterativos, análise da convergência, implementações sequenciais e paralelas
 método das diferenças finitas: resolução numérica das equações diferenciais que
ocorrem em certos problemas "clássicos" (vibração de uma corda, difusão de
calor)
 transformada rápida de Fourier: análise de Fourier (introdução), as
transformadas DDT (discreta) e FFT, algoritmos sequenciais e paralelos
Projecto Integrado: (anual)
 iniciação ao ambiente de trabalho em cluster computacional e respectivas
ferramentas de desenvolvimento de software e de apoio à execução
 iniciação ao método científico em práticas laboratoriais experimentais e em
trabalho de grupo
 análise experimental de execução de código e consequente avaliação e
optimização do desempenho da execução, em ambiente paralelo (multithreading, por passagem de mensagens e híbrido)
resolução de problemas computacionais de média complexidade, com requisitos de
métodos numéricos.
Pré-requisitos:
Resultados de Aprendizagem:
Bibliografia:
Sistemas de Computação e Desempenho:
Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and David
O'Hallaron, Prentice Hall, 2002
Measuring Computer Performance: A Practitioner's Guide, David J. Lilja, Cambridge
University Press, 2000
Planeamento e Administração de Clusters:
Beowulf Cluster Computing with Linux, William Gropp, Ewing Lusk, Thomas Sterling,
2nd Ed., The MIT Press, 2003
High Performance Linux Clusters with Oscar, Rocks, OpenMosix and MPI, Joseph
Sloan, O'Reilly Media, Inc., 2004
Paradigmas de Computação Paralela:
Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw-Hill
Education, 2003
Docentes:
Alberto José Proença
António Pina
João Luís Sobral
Rui Ralha
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação:
A classificação final será uma média ponderada das actividades acima referidas:
- realização de 2 testes: no fim de cada semestre, para aferir os conhecimentos e as
capacidades intelectuais adquiridos, relativos aos temas leccionados nos módulos
temáticos em cada semestre; peso: 20% + 30%;
- realização (obrigatória) de um conjunto de trabalhos de análise e de síntese com uma
forte componente prática e laboratorial, e contendo a realização de relatórios com
apresentação e defesa de trabalhos; peso: 50%; o insucesso nesta componente conduz a
não admissão a exame.
A observação da atitude e comportamento dos alunos ao longo do semestre
(nomeadamente os trabalhos de preparação temática e a participação activa nas sessões
de debate/diálogo) reflecte-se na classificação final através da aplicação de bonificações
e penalizações.
Língua de Instrução: Português
Créditos: 30,0
* Criptografia e Segurança de Sistemas de Informação
Regime: A
Tipo: Opcional
Programa:
Criptografia e Segurança da Informação (CSI), Segurança de Sistemas Informáticos
(SSI), Gestão da Segurança da Informação (GSI), Projecto Integrador (PI)
Conceitos fundamentais da criptografia moderna. Introdução às primitivas, esquemas e
protocolos criptográficos mais relevantes como blocos construtivos de funcionalidades
de segurança em sistemas informáticos. Certificação digital e a utilização de
Infrastruturas de Chave Pública. Aplicações correntes/comerciais da criptografia.
Aspectos legais da segurança da informação. Privacidade e protecção de dados pessoais.
Gestão da confiança. Auditoria e acreditação de segurança.
Tópicos de programação segura com ênfase no dimensionamento de privilégios,
protecção de dados, ``stack'' e ``sandbox'' de execução. Técnicas, ferramentas e boas
práticas de administração na operação segura de sistemas informáticos. Perímetros de
segurança como elementos estruturantes na no comparticionamento de acesso e
protecção dos recursos do sistema. Redundância, ``fail-over'', salvaguarda e reposição
de dados e serviços como técnicas para melhoria da disponibilidade e segurança de
operação de sistemas informáticos. Análise forense aplicada à detecção e avaliação de
situações de comprometimento de segurança de sistemas.
Pré-requisitos:
Resultados de Aprendizagem:
- Identificar os problemas da teoria de números mais relevantes à criptografia moderna,
e discutir o conceito de problema difícil. neste contexto.
- Explicar os objectivos fundamentais da criptografia moderna e reconhecer as
primitivas criptográficas que lhes estão associadas.
- Explicar o funcionamento interno e as noções de segurança associadas às técnicas
criptográficas mais relevantes.
- Gerir sistemas de certificação digital e PKI e utilizar aplicações correntes/comerciais
da criptografia.
- Compreender e explorar o paradigma transaccional e a replicação por software no
desenvolvimento de sistemas
confiáveis.
- Conhecer e dominar as diversas vertentes da administração de sistemas informáticos
como forma de assegurar a
sua segurança e correcção.
- Conhecer, seleccionar e aplicar técnicas de desenvolvimento de aplicações seguras.
Bibliografia:
* Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and
Scott A. Vanstone, CRC Press 2001.
* Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier,
John Wiley & Sons, Inc. 1995
* Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
* A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, SpringerVerlag's Graduate Texts in Mathematics, 1994
Docentes:
Manuel Bernardo Barbosa
Victor Francisco Fonte
José Carlos Bacelar Almeida
José Manuel Valença
Rui Carlos Oliveira
Carga Horária: 300
Métodos de Ensino:
A escolaridade associada a esta UCE compreende os módulos temáticos, cada um com
uma componente de aulas teóricas e de resolução de problemas, que serão articulados
entre si por uma componente laboratorial, denominada Projecto Integrador, que garante
a experimentação e aplicação prática dos resultados da aprendizagem.
Métodos de Avaliação:
A avaliação final da UCE é composta pelas seguintes componentes (todas com nota
mínima de 10 valores):
* Teste escrito (60%) - No final de cada periodo lectivo (semestre) é realizado um teste
escrito. Esses testes são divididos em duas partes, versando cada uma delas os
conteúdos dos módulos leccionados. No final do ano é oferecida a possibilidade de
realizar um exame de recurso, podendo aí o aluno escolher que componentes (módulos)
pretende repetir.
* Avaliação do Projecto (30%) - Realizada em dois tempos: no final do primeiro
semestre e no final do ano. A apresentação do projecto será acompanhada por um
relatório que descreve o trabalho realizado.
* Avaliação Seminário (10%) - Consiste numa monografia e numa apresentação
(20min.), ambos sobre temas escolhidos pelos candidatos de entre as propostas da
equipa docente.
Língua de Instrução: Português
Créditos: 30,0
* Engenharia de Aplicações
Regime: A
Tipo: Optional
Programa:
Arquitecturas Aplicacionais Multi-camada; Sistemas Interactivos; Administração de
Bases de Dados; Infraestrutura de Centros de Dados; Segurança; Projecto Integrado
Pré-requisitos: Nenhuns
Resultados de Aprendizagem:
Analisar e conhecer os principais padrões estruturais e de comportamento utilizados para o
desenvolvimento de sistemas de software complexo e de grande escala, tendo em conta as
especificidades arquitecturais das aplicações multi-camada.
Identificar as principais características dos servidores aplicacionais por forma a escolher o
modelo de programação pretendido e saber utilizar tecnologia orientada a serviços como
mecanismo de criação de arquitecturas de software parametrizáveis. Desenvolver camadas
computacionais que permitam evolução controlada e independente das camadas de
apresentação e dados e que permitam a disponibilização de serviços como mecanismo de
integração.
Compreender e explorar diferentes técnicas de desenvolvimento de camadas interactivas,
concebendo interfaces com o utilizador com consideração por aspectos de usabilidade.
Desenvolver camadas de apresentação que permitam evolução controlada e independente das
camadas de lógica e de dados.
Estruturar, avaliar e gerir dados de grande volume, compreendendo conceitos com middleware
de acesso a dados, controlo de concorrência e recuperação.
Compreender e explicar os compromissos entre custo, desempenho, e confiabilidade na
concepção de centros de dados e a sua tradução em tecnologias concretas. Aplicar mecanismos
de redundância, virtualização e administração centralizada no desenvolvimento e operação de
centros de dados.
Compreender os riscos de segurança em aplicações em larga escala e técnicas para os reduzir.
Desenvolver de forma integrada a função e concepção e projecto de Engenharia.
Bibliografia:
Ver página Web da UCE.
Docentes:
António Nestor Ribeiro
António Sousa
Francisco Moura
José Creissac,
Manuel Barbosa.
Carga Horária: 300,0
Métodos de Ensino: Aulas teóricas e práticas em laboratório
Métodos de Avaliação:
Testes escritos, testes práticos, projecto obrigatório (40%)
Língua de Instrução: Português
Créditos: 30,0
* Engenharia de Linguagens
Regime: A
Tipo: Opcional
Programa:
Pré-requisitos:
Resultados de Aprendizagem:
Bibliografia:
Docentes:
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação:
Língua de Instrução: Português
Créditos: 30,0
1.
2.
3.
4.
5.
* Engenharia de Redes e Serviços
Regime: A
Tipo: Opcional
Programa:
Unidade Curricular estruturada em 5 Módulos (6 ECTS cada):
Segurança em Redes,
Gestão de Redes e Serviços,
Programação Distribuída em Tempo-Real,
Serviços e Sistemas Multimédia,
Seminário e Projecto Integrado
Pré-requisitos:
Resultados de Aprendizagem:
Reconhecer e compreender as actividades inerentes à gestão de redes
Efectuar a análise, concepção e desenvolvimento de aplicações em rede em contextos de
tempo real
Compreender os príncipios, técnicas e algoritmos usados para representação,
compressão e processamento de conteúdos multimédia
Desenvolver projectos de serviços de comunicação
Bibliografia:
Mark Rhodes-Ousley, et al. "Network Security: The Complete Reference," 2003.
Network Management, MIBs and MPLS: Principles, Design and Impl., S. Morris,
Addison Wesley, 2003
Markus Aleksy, Implementing Distributed Systems with Java and CORBA, Springer,
2005
F. Halsall, Multimedia Communications: App., Networks, Protocols and Standards,
Addison-Wesley, 2002
Docentes:
Bruno Dias
António Costa
Maria João Nicolau
Henrique Santos
Carga Horária: 360,0
Métodos de Ensino:
Métodos de Avaliação:
Os alunos são objecto de avaliação contínua, de acordo com o interesse e trabalho
teórico-prático desenvolvido. A classificação final integra componentes de avaliação
teórica com peso de 50%, componentes de avaliação teórico-práticas com peso de 20%
e ainda o desenvolvimento de um projecto integrado, com peso de 30%.
Língua de Instrução: Português
Créditos: 30,0
* Métodos Formais em Engenharia de Software
Regime: A
Tipo: Opcional
Programa:
Esta unidade organiza-se em 4 módulos temáticos semestrais de 5 ECTS cada um, a
saber: (1) MF - Métodos Formais. (2) VTP Verificação e Teste de Programas. (3) PAS:
Processos e Arquitecturas de Software. (4) CSI Cálculo de Sistemas de Informação.
Estes módulos estão ligados entre si por um projecto de grupo, laboratorial e anual (PI Projecto Integrado, 10 ECTS) que faz a ligação da teoria à prática. Os temas de
projectos são propostos pelas empresas que patrocinam a unidade curricular.
Classificação ACM de acordo com IEEE/ACM Curriculum Guidelines for Software
Engineering: * Software/SOFTWARE ENGINEERING/Metrics --- 2 ECTS *
Software/SOFTWARE ENGINEERING/Requirements/Specifications --- 6 ECTS *
Software/SOFTWARE ENGINEERING/Software Architectures --- 6 ECTS *
Software/SOFTWARE ENGINEERING/Software/Program Verification --- 6 ECTS *
Software/SOFTWARE ENGINEERING/Testing and Debugging --- 4 ECTS * Theory
of Computation/LOGICS AND MEANINGS OF PROGRAMS/Specifying and
Verifying and Reasoning about Programs --- 6 ECTS.
Pré-requisitos:
* Experiência em programação * Familiaridade com linguagens declarativas (lógicas,
funcionais) * Lógica de predicados, cálculo-lambda * Noções de 1º ciclo em
matemática discreta (eg. conjuntos, relações, funções).
Resultados de Aprendizagem:
* Criar, rever, analisar, classificar, animar, testar e transformar modelos abstractos de
problemas e sistemas em Engenharia de Software. * Transformar especificações de
sistemas de informação complexos em implementações sobre diversos tipos de
tecnologias. * Modelar, analisar, classificar e transformar diferentes padrões de
interacção, estratégias de modularização (componentes, objectos, serviços) e esquemas
de organização arquitectural do software. * Especificar, verificar e validar propriedades
de sistemas de software, com a ajuda de ferramentas automáticas de prova assistida. *
Planear, executar e avaliar a qualidade de projectos de software, recorrendo a métodos
rigorosos e diferentes tecnologias de aplicação. * Desenvolver de forma integrada a
função de concepção e projecto em Engenharia.
Bibliografia:
L*07] Luca Aceto, Anna IngÛlfsdÛttir, Kim Guldstrand Larsen, Jiri Srba Reactive
Systems: Modelling, Specification and Verification ISBN-13: 9780521875462,
published by Cambridge University Press.; [FL98] J. Fitzgerald and P.G. Larsen.
Modelling Systems: Practical Tools and Techniques. Cambridge University Press, 1st
edition, 1998. ; [F*05] John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat,
and Marcel Verhoef. Validated Designs for Object-oriented Systems. Springer, New
York, 2005. ; [Ja06] Daniel Jackson. Software abstractions : logic, language, and
analysis. The MIT Press, Cambridge Mass., 2006. ISBN 0-262-10114-9. ; [Jon86] C.
B. Jones. Systematic Software Development Using VDM. (PDF) Series in Computer
Science. Prentice-Hall International, 1986. C. A. R. Hoare. ; [Mi99] Robin Milner
Communicating and mobile systems: the pi calculus ISBN 052164320, Cambridge
University Press, 1999. ; [Ol07] J.N. Oliveira. Data Transformation by Calculation
(Post-proceedings version: PDF). In GTTSE 2007 Proceedings, pages 139-198, June
2007. International Summer School, July 2-7. Tutorial slides: (PDF). ; [UK07] Mark
Utting, Bruno Legeard Practical Model-Based Testing: A Tools Approach. Morgan
Kaufmann, 2007. ISBN-10: 0123725011; ISBN-13: 978-0123725011. ; [SW01]
Davide Sangiorgi, David Walker The pi calculus: A Theory of Mobile Processes ISBN
0521781779, Cambridge University Press, 2001.
Docentes:
Jorge Sousa Pinto
José Bernardo Barros
José Nuno Oliveira (Coord)
Luís Soares Barbosa
Manuel Alcino Cunha
Maria João Frade
Carga Horária: 300
Métodos de Ensino:
Aulas teoricas e práticas. Avaliação contínua em aulas de taboratório. Realização de um
projecto integrado.
Métodos de Avaliação:
Provas individuais sem consulta, trabalhos práticos. Projecto de grupo.
Língua de Instrução: Português
Créditos: 30,0
* Sistemas Distribuídos
Regime: A
Tipo: Opcional
Programa:
Pré-requisitos:
Resultados de Aprendizagem:
Bibliografia:
Docentes:
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação:
Língua de Instrução: Português
Créditos: 30,0
* Sistemas Inteligentes
Regime: A
Tipo: Opcional
Programa:
Módulos:
Agentes Inteligentes
Bases de Dados, Aprendizagem e Extracção de Conhecimento
Computação Natural e Inteligência Evolutiva
Sistemas Autónomos
Projecto Integrado
Pré-requisitos:
Resultados de Aprendizagem:
Avaliar a adequabilidade de um sistema inteligente para a resolução de problemas.
Compreender como usar a informação disponível para implementar sistemas de
aprendizagem, selecção de modelos e teste.
Compreender as vantagens e desvantagens dos sistemas inteligentes estudados no curso,
e decidir qual é o mais apropriado para corporizar uma dada aplicação.
Aplicar intelectos virtuais, redes neuronais artificiais, programação genética e
evolucionária e “particle swarm” a conjuntos de dados, avaliando o seu desempenho.
Compreender a relação entre a complexidade de um modelo e o seu desempenho,
utilizando esta informação na definição de uma estratégia para optimizar os sistemas
existentes.
Desenvolver de forma integrada a função de concepção e projecto em Engenharia.
Bibliografia:
Rocha, M., Cortez, P., and Neves, J. Análise Inteligente de Dados - Algoritmos e
Implementação em Java. FCA, Editora de Informática, LDA. ISBN: 978-972-722-278-0.
Portugal, 2008.
Russel S., Norvig P., Artificial Intelligence: A Modern Approach, Prentice-Hall, 2nd Ed.,
2003, IBSN: 0-13-103805-2.
Wooldrige M., An Introduction to Multiagent Systems, John Wiley & Sons, ISBN: 0
47149691X, 2002.
Docentes:
Cesar Analide
José Neves
Paulo Novais
Victor Alves
Carga Horária: 300
Métodos de Ensino:
Métodos de Avaliação: Provas escritas e trabalhos práticos
Língua de Instrução: Português
Créditos: 30,0
* Sistemas de Suporte à Decisão
Regime: A.
Tipo: Opcional.
Língua de Instrução: Português.
Horas/Semana: 8.
Créditos: 30.
Métodos de Ensino:
- Aulas teóricas e teórico-práticas, aulas práticas em laboratório, seminários ou
workshops (8hora/semana).
Programa:
- Module 1 – Administração e Exploração Avançada de Bases de Dados (5 ECTS).
Introdução aos Sistemas de Bases de Dados. O Modelo Relacional. Álgebra Relacional
e Cálculo de Predicados. Desenho e Arquitectura de Sistemas de Bases de Dados. A
Linguagem SQL. Administração de Bases de Dados. Segurança, Recuperação e
Protecção de Dados. Bases de Dados Distribuídas. Novas Áreas Aplicacionais de Bases
de Dados. Ferramentas e Ambientes para Sistemas de Bases de Dados. Administração
avançada de sistemas de gestão de bases de dados. Reavaliação de projectos de sistemas
de bases de dados.
- Module 2 – Data Warehousing Systems (5 ECTS).
Ambiente e estrutura funcional de um data warehouse. Ciclo de vida e desenvolvimento
incremental de um data warehouse. Granularidade, particionamento e estruturação da
informação num data warehouse. Projecto de um data warehouse. Modelos de dados
para um data warehouse. Projecto e implementação de sistemas de extracção, transporte,
transformação e integração de dados. Aplicação de técnicas de workflowing em
processo de povoamento de sistemas de data warehousing. Ferramentas de modelação.
Sistemas de wrapping. Data warehouse departamentais. Gestão e administração de data
warehouses. Implementação de data warehouses em plataformas Cliente/Servidor. Data
warehouses distribuídos.
- Module 3 – On-Line Analytical Processing (5 ECTS).
Fundamentos do processamento analítico de dados. Estruturas de armazenamento de
dados para sistemas analíticos. Algoritmos e estruturas de dados para o processamento
analítico de dados. Reestruturação dinâmica de cubos. Materialização de vistas.
Processamento e materialização distribuída de estruturas multidimensionais de dados.
Administração de sistemas de gestão de bases de dados multidimensionais. Elaboração
de projectos de sistemas de bases de dados. Descrição de dados multidimensional.
Manipulação de dados multidimensional. Definição de critérios de acesso a dados.
Manipulação de vistas multidimensionais. Programação de sistemas de interrogação
para sistemas de bases de dados multidimensionais.
- Module 4 – Data Mining (5 ECTS).
Introdução aos sistemas de descoberta de conhecimento. Ciclo de vida da descoberta de
conhecimento. Introdução à aprendizagem máquina e mineração de dados. Preparação e
preprocessamento de dados. Linguagens e arquitecturas para mineração de dados.
Descrição de conceitos. Técnicas e modelos de classificação e de predição. Mineração
de regras de associação. Mineração de sequências. Geração e análise de clusters.
Mineração de tipos de dados complexos.
- Module 5 – Integrated Project (10 ECTS).
Desenvolvimento de um projecto de aplicação prática dos conhecimentos adquiridos
nos módulos de Administração e Exploração Avançada de Bases de Dados, de Sistemas
de Data Warehousing, de Processamento Analítico de Dados e de Mineração de Dados.
Métodos de Avaliação:
- 1 teste por modulo (mais exame de recurso) e um projecto para o modulo 5.
Pré-requisitos:
Nenhuns.
Resultados de Aprendizagem:
No final desta unidade curricular, os alunos deverão ser capazes de:
- saber fazer a administração e manipulação de um sistema de bases de dados.
- monitorizar e optimizar o desempenho de um sistema de bases de dados.
- preparar, projectar, implementar e gerir um sistema de data warehousing.
- projectar e implementar mecanismos efectivos para o povoamento de data warehouses
– processos de ETL.
- projectar, implementar e explorar aplicações OLAP.
- projectar e implementar aplicações integrando técnicas de mineração de dados.
Bibliografia:
- Connolly, T., Begg, C., Database Systems, A Practical Approach to Design,
Implementation, and Management , Addison-Wesley, 3ª Edição, 2002.
- Garcia-Molina, H., Ullman, J., Widom, J., Database Systems: The Complete Book,
Prentice Hall, 2001.
- Teorey, T., Database Modeling and Design: The Fundamental Principles, II Ediçao,
Morgan Kaufmann, 1994.
- Date C., An Introduction to Database Systems , Volume I, VI Edição, AddisonWesley Systems Programming Series, 1996.
- Ramakrishman, R., Database Management Systems, McGraw-Hill International
Editions, 1998.
- Kimball, R., Reeves, L., Ross, M., Thornthwait, W., The Data Warehouse Lifecycle
Toolkit - Expert Methods for Designing, Developing, and Deploying Data Warehouses,
John Wiley & Sons,1998.
- Kimball, R., Caserta, J., The Data Warehouse ETL Toolkit - Practical Techniques for
Extracting, Ceaning, Conforming, and Delivering Data, John Wiley & Sons, 2004.
- Thomsen, E., OLAP Solutions: Building Multidimensional Information Systems, John
Wiley & Sons, 2nd Edition, 2002.
- Witten, I., Frank, E., Data Mining (Pratical Machine Learning tools and Techniques),
Morgan Kaufmann Publishers, 2005
- Han, J., Kamber, M., Data Mining, Concepts and Techniques, Morgan Kaufmann
Publishers, 2006.
- Tan, P., Steinbach, M., Kumar, V., Introduction to Data Mining, Pearson Education -
International Ed edition, 2006.
Docentes:
Orlando Belo,
Paulo Azevedo.
1.
2.
3.
4.
5.
* Tecnologias e Protocolos de Infra-Estrutura
Regime: A
Tipo: Opcional
Programa:
Unidade Curricular estruturada em 5 Módulos (6 ECTS cada):
Tecnologias de Redes de Acesso e Core,
Redes de Comunicações sem Fios e Móveis,
Redes IP Avançadas,
Redes Multi-Serviço,
Seminário e Projecto Integrado
Pré-requisitos:
Resultados de Aprendizagem:
Explicar os principais conceitos teóricos subjacentes às principais tecnologias de acesso
e core
Identificar e descrever os diversos tipos de redes móveis e sem fios existentes
Identificar e discutir as diferenças e conceitos subjacentes aos protocolos IPv4 e IPv6
Compreender os princípios e funcionalidades inerentes à Mobilidade e Qualidade de
Serviço em redes IP
Desenvolver projectos de engenharia das redes de comunicações fixas e móveis
Bibliografia:
A. Gumaste and Tony Antony, First Mile Access Networks and Enabling Technologies,
Cisco Press, 2004
Yi-Bing Lin, Imrich Chlamtac, Wireless and mobile network architectures, John Wiley
& Sons, 2001
William Stallings, Data and Computer Communications, Prentice Hall, 7 ed, 2003
Olivier Hersent, Jean-Pierre Petit, David Gurle, "IP Telephony: Deploying Voice-overIP Protocols", John Wiley & Sons, 2005
Docentes:
Alexandre Santos
Paulo Carvalho
Pedro Sousa
Adriano Moreira
Carga Horária: 360,0
Métodos de Ensino:
Métodos de Avaliação:
Os alunos são objecto de avaliação contínua, de acordo com o interesse demonstrado e
com o trabalho teórico-prático desenvolvido. A classificação final integra componentes
de avaliação teórica com peso de 50%, componentes de avaliação teórico-práticas com
peso de 20% e ainda o desenvolvimento de um projecto integrado, com peso de 30%.
Língua de Instrução: Português
Créditos: 30,0
000000 - Dissertação
Regime: A
Tipo: Obrigatória
Programa:
Os estudantes devem realizar trabalho de investigação com vista à apresentação de uma
dissertação original na área de Informática sob orientação de um ou mais professores
especialistas no tema em questão.
Pré-requisitos:
Completar com sucesso o primeiro ano do curso, i.e. um total de 60 ECTS (2 UCEs).
Resultados de Aprendizagem:
Desenvolver competências para realizar trabalho de investigação individual em
Informática.
Bibliografia:
Depende do tema da dissertação.
Docentes:
Um orientador científico. Eventualmente um co-orientador, se necessário.
Carga Horária: 0 (??)
Métodos de Ensino:
Trabalho individual de investigação sob orientação científica.
Métodos de Avaliação:
Avaliação e discussão pública de uma dissertação escrita.
Língua de Instrução: Português
Créditos: 45,0
000335 - Seminário
Regime: S1
Tipo: Obrigatória
Programa:
Conjunto de seminários multi-disciplinares seleccionados em tópicos relacionados com
Informática.
Desenvolvimento de um projecto tecnológico de aplicação prática.
Pré-requisitos:
Nenhum.
Resultados de Aprendizagem:
Promover trabalho de grupo em Informática aplicada.
Bibliografia:
Depende do tema do projecto.
Docentes:
Pedro Rangel Henriques (Coordenador)
Carga Horária: 24,0 (??)
Métodos de Ensino:
Seminários interactivos.
Desenvolvimento de trabalho de grupo sob supervisão científica.
Métodos de Avaliação:
Avaliação e discussão pública do projecto final e correspondente relatório final (formato
de artigo).
Revisão de um projecto em avaliação.
Apresentação de um poster do projecto.
Língua de Instrução: Português
Créditos: 15,0
Download