Mestrado em Engenharia Informática

Conteúdos previstos para as disciplinas

1. Arquitectura de Computadores, Sistemas Operativos e Redes

1.1 Planeamento e Administração de Redes e Serviços

Programa:  Módulo de Avaliação de Desempenho:  Técnicas e métricas para avaliação de desempenho. Tipos de cargas e sua selecção. "Benchmarking". Testes de desempenho. Comparação de resultados. Concepção de experiências. Desenvolvimento de modelos analíticos. Análise dos resultados e validação de modelos.
Módulo de Planeamento e Projecto: Análise de requisitos. Análise de fluxos. Projecto lógico. Projecto da infraestrutura física. Endereçamento e encaminhamento.
Módulo de Gestão de Redes: Conceitos fundamentais. Gestão de redes em TCP/IP: SNMPv1, SNMPv2 e monitorização remota (RMON1 e 2). SNMPv3: arquitectura, aplicações e modelo de segurança.
Semestre Lectivo: 1º Sem.
Regência: Pedro Ferreira do Souto, Raul Oliveira

1.2 Tecnologias de Distribuição e Integração

Programa: Middlewares. Transacções distribuídas, monitores de transacções; replicação activa e passiva; modelos de distribuição: cliente/servidor, P2P, serviços Web; filas de mensagens, modelo publicador/subscritor; tecnologias de distribuição: CORBA, EJB, .NET. Estratégias e técnicas de integração de aplicações empresariais (Enterprise Application Integration).
Semestre Lectivo: 1º Sem.
Regência: António Miguel Pimenta Monteiro

1.3 Segurança em Sistemas Informáticos

Programa: Fundamentos. Políticas de segurança. Criptografia: teoria e aplicações. Mecanismos de segurança e seu uso na implementação de políticas de segurança. Verificação de conformidade e monitorização de um sistema. Aspectos práticos em redes, em sistemas e na programação. Aspectos sociais, éticos e legais.
Semestre Lectivo: 1º Sem.
Regência: José Manuel de Magalhães Cruz, Pedro Ferreira do Souto

1.4 Sistemas Críticos

Programa: Introdução aos Sistemas Críticos. Apresentação de casos de estudo relevantes em termos de segurança. Critérios de segurança. Análise de situações perigosas ("hazards").  Análise de risco. Desenvolvimento de Sistemas Críticos ("safety-critical"). Tolerância a falhas. Metodologias de análise da confiança no funcionamento. Software para Sistemas Críticos. Arquitecturas de hardware para Sistemas Críticos. Verificação, Validação, Teste e gestão de qualidade para Sistemas Críticos. Certificação. Observações e conclusões.
Semestre Lectivo: 2º Sem.
Regência: Francisco Vasques, Paulo Portugal

2. Ciência e Tecnologia da Programação

2.1 Linguagens de Anotação e Processamento de Documentos

Programa: Documentos e anotação. Ciclo de vida dos documentos. Documentos estruturados e semi-estruturados. Anotação de documentos. Linguagens de anotação: SGML, XML. Documentos XML Estrutura física. Estrutura lógica. DTD e Schemas. Processamento de documentos XML Transformação de documentos. XSLT. Apresentação de documentos. Processamento de documentos embebidos em aplicações. DOM e SAX. Dialectos XML e aplicações.
Semestre Lectivo: 2º Sem.
Regência: Maria Cristina  Ribeiro, João Correia Lopes

2.2 Descrição, Armazenamento e Pesquisa de Informação

Programa: XML e tecnologias associadas: Validação; Processamento; Aplicações; Dialectos. Armazenamento de XML: Bases de dados XML nativas; Transformação de relacional para XML e XML para relacional; Interrogação de XML - XQuery. Pesquisa de informação de base textual: Modelos Booleano, vectorial e probabilístico; Modelos para dados estruturados; Pesquisa de informação sobre voz e multimédia; Pesquisa em estruturas químicas e biológicas. Descrição de informação: Linguagens da Web semântica. RDF, OWL, DAML; Ontologias para dados de um domínio.
Semestre Lectivo: 1º Sem.
Regência: Maria Cristina  Ribeiro, João Correia Lopes

2.3 Programação Distribuída e Paralela

Programa: Programação com variáveis partilhadas: sincronização, monitores, barreiras, paradigmas; programação distribuída: passagem de mensagens, RPC, rendezvous, paradigmas de interacção de processos, implementações com memória partilhada; programação paralela: paradigmas de computação paralela (grids, partículas e computação matricial), técnicas com passagem de mensagens e com memória partilhada, bibliotecas e ferramentas. Algoritmos distribuídos não tolerantes a falhas; algoritmos distribuídos tolerantes a falhas com um numero fixo de processadores; algoritmos para um conjunto de processos não fixo; algoritmos para redes móveis.
Semestre Lectivo: 2º Sem.
Regência: Jorge Manuel Gomes Barbosa, Pedro Ferreira do Souto

2.4 Paradigmas de Programação

Programa: Conceitos e Paradigmas de Linguagens de Programação: valores, armazenamento, ligação, abstracção, encapsulamento, sistemas de tipos, controlo, concorrência; paradigma imperativo, paradigma concorrente, paradigma orientado aos objectos, paradigma funcional, paradigma lógico. Sintaxe e Semântica de Linguagens de Programação: gramáticas, semântica operacional, semântica denotacional, semântica algébrica, semântica de acções. Processadores de linguagens.
Semestre Lectivo: 2º Sem.
Regência: João Correia Lopes

3. Engenharia de Software

3.1 Engenharia de Requisitos de Sistemas de Software

Programa: Introdução: noção de requisito, importância, o papel da especificação, domínios de aplicação. Fundamentos: aspectos interdisciplinares da engenharia de requisitos. Identificação e elaboração de requisitos (descoberta?): técnicas de identificação e elaboração, processo de identificação e elaboração, participação dos utilizadores, requisitos sócio-técnicos, requisitos de sistemas de actividades humanas, critérios de avaliação, optimização conjunta. Modelação de requisitos: modelação e análise da empresa, modelação de requisitos não funcionais. Análise de requisitos: validação e verificação, consistência, animação, automated reasoning, métricas. Comunicação dos requisitos: documentos, linguagens, normas, aspectos contratuais, rastreabilidade, ferramentas de suporte. Acordo de requisitos: validação, negociação e conflito, prioridades, selecção COTS, aspectos contextuais. Evolução dos requisitos: gestão da mudança de requisitos, gestão da inconsistência, famílias de produtos, aplicações para gestão de requisitos. Padrões de análise e de negócio. Métodos formais.
Semestre Lectivo: 1º Sem
Regência: António Lucas Soares

3.2 Arquitectura de Sistemas de Software

Programa: Noção de arquitectura de software; questões chave a considerar no desenho da arquitectura; estratégias e métodos de desenho da arquitectura; vistas da arquitectura; estilos arquitectónicos (macro-arquitectura); padrões de desenho (micro-arquitectura); padrões de arquitectura de aplicações empresariais; arquitectura de famílias de aplicações (linhas de produtos), infra-estruturas aplicacionais (frameworks) e componentes COTS (commercial-off-the-shelf); integração com sistemas legados; notações e formalismos de descrição da arquitectura; documentação da arquitectura; avaliação e validação de arquitectura; aspectos económicos.
Semestre Lectivo: 2º Sem
Regência: Ademar Aguiar

3.3 Teste e Qualidade de Software

Programa: Noção de defeito no software; noção de qualidade no software; atributos de qualidade; factores de qualidade; verificação e validação de software; teste de software: tipos de testes, definição de casos de teste, automação de testes; revisões e inspecções de software; gestão da qualidade do software; normas internacionais de qualidade; certificação de qualidade; avaliação e melhoria dos processos de software; métricas e medições de software; garantias no software.
Semestre Lectivo: 1º Sem
Regência: João Pascoal Faria

3.4 Metodologias Ágeis de Desenvolvimento de Software

Programa:  Introdução às Metodologias Ágeis: A necessidade de métodos ágeis para desenvolvimento de software. Software ágil: valores e princípios fundamentais. Visão geral sobre as principais práticas usadas nas metodologias ágeis. Exemplos de Metodologias Ágeis: XP, Scrum, FDD. Trabalho em Equipa: “coaching”, “technical environment”, “on-site customer”. Planeamento: “planning game”, “small releases”. Testes: testes de aceitação, testes unitários, “test-first programming”. Desenho: “simple design”, “refactoring”, “design patterns”.
Semestre Lectivo: 1º Sem
Regência: Ademar Aguiar

4. Interacção e Multimédia

4.1 Interacção Pessoa Computador

Programa: Projecto de Concepção da Interacção. Compreender e Conceitualizar a Interacção. Compreender os Utilizadores. Concepção orientada para a colaboração e a comunicação. Compreender como as interfaces afectam os utilizadores. O Processo de concepção da Interacção. Identificar Necessidades de Definir Requisitos. Conceber, Prototipar e Construir. Abordagens à Concepção da Interacção centradas nos utilizadores. Introdução da Avaliação. Um Infra-estrutura para Avaliação. Observando os utilizadores. Interrogando os utilizadores e os peritos. Testar e modelar os utilizadores. Concepção e Avaliação no mundo real.
Semestre Lectivo: 1º Sem
Regência: João Falcão e Cunha

4.2 Realidade Virtual e Aumentada

Programa: Aquisição e representação de imagens; análise, detecção de arestas; segmentação, regiões, matching; visão e estereoscopia. Principais tendências, em termos de arquitectura e de dispositivos, dos sistemas de realidade virtual e de realidade mista, assim como das técnicas de oclusão, iluminação, detecção de colisões e animação. Desenvolvimento de pequenos projectos no âmbito da realidade aumentada.
Semestre Lectivo: 1º Sem
Regência: A. Augusto Sousa, Jorge Alves Silva

4.3 Multimédia e Novos Serviços

Programa: Introdução à multimédia: definição, tipos de meios, níveis de informação, tecnologias básicas. Aplicações multimédia: classificação, alguns exemplos. Codificação e representação da informação multimédia: teoria da Informação e técnicas de compressão, compressão de imagem, compressão de vídeo, compressão de áudio. Interfaces de utilizador: usabilidade, projecto, avaliação. Requisitos de rede de aplicações multimédia: parâmetros de desempenho, requisitos dos vários meios. As redes e as aplicações multimédia: arquitecturas e protocolos, sistemas distribuídos, QoS em ATM e na Internet, modelos e aplicações. Novos serviços: TV digital interactiva; Multimedia Streaming, IPtel
Semestre Lectivo: 2º Sem
Regência: Eurico Carrapatoso

5. Sistemas de Informação

5.1 Tecnologias de Bases de Dados

Programa: Bases de dados por objectos e objecto-relacionais e normas ODMG2.0 e SQL3. Administração de bases de dados. Esquema físico e afinação de BD. Armazenamento de dados e índices. Execução e optimização de interrogações. Bases de dados distribuídas. Gestão de transacções, concorrência e recuperação. Replicação. Interoperabilidade. XML e bases de dados.
Semestre Lectivo: 2º Sem
Regência: Gabriel David

5.2 Armazéns de Dados

Programa: Armazéns de dados: selecção de dimensões; modelos de dados específicos; granularidade; heterogeneidade, estratégias de alimentação e migração de dados; acesso a grandes volumes de dados; bases de dados distribuídas; desenvolvimento de data marts. Bases de dados multidimensionais; sistemas de informação para executivos. Qualidade de dados: auditoria e limpeza de dados; perspectiva da qualidade total; prevenção de defeitos. Os armazéns de dados e a Web.
Semestre Lectivo: 1º Sem
Regência: Gabriel David

5.3 Planeamento Estratégico de Sistemas de Informação

Programa: Revisão de conceitos básicos: sistemas de informação, sistemas de tecnologias de informação, planeamento, estratégia. Análise organizacional para sistemas de informação: paradigmas e abordagens, exemplos de metodologias, reengenharia de processos de negócio, "soft system methodology", modelação de processos de negócio. Planeamento informático: abordagens e processos de planeamento, avaliação, visão, planos estratégicos, planos operacionais. Estratégia informática: componentes, adequabilidade organizacional, estratégia de informação, sistemas de informação e tecnologias de informação. Planeamento e gestão de serviços de TI: estratégias, tipos de serviços, estratégias de gestão de infraestruturas, estratégias tecnológicas multi-empresa, estratégias de outsourcing, application service providers. Estratégias de gestão da informação e do conhecimento: a informação como activo, cultura informacional, gestão de recursos de conhecimento. Arquitecturas de sistemas de informação: caracterização, princípios, vistas, tipos, frameworks de desenho e avaliação. Derivação da arquitectura de sistemas de informação da arquitectura do negócio.
Semestre Lectivo: 1º Sem
Regência: Henriqueta Nóvoa, António Lucas Soares

6. Sistemas Inteligentes

6.1 Extracção de Conhecimento

Programa: Classificação de dados, algoritmo de Bayes, árvores de classificação e regressão; avaliação de hipóteses; regressão e tratamento de classes contínuas; métodos de aglomeração (clustering); indução de regras. Aprendizagem baseada em instâncias (RBC). Aprendizagem incremental e "em linha" (aprendizagem por reforço). Métodos de estatística para o armazenamento e selecção de dados e para a validação de resultados. Redes neuronais para a detecção, classificação e predição de padrões. Técnicas de visualização. Prospecção e sumarização de texto: identificação de conceitos e ontologias; planeadores e geradores de frases. Gestão de conhecimento e organizações.
Semestre Lectivo: 1º Sem
Regência: Rui Ferreira da Silva, José Luís Borges

6.2 Tecnologias para Negócio Electrónico

Programa: Modelos de Negócio Electrónico (B2B, B2C, IOB). Processos de negociação interorganizacional: fluxos de trabalho (workflow) para cadeias de fornecimento; sistemas de workflow distribuídos e baseados em agentes. Métodos de análise, especificação, verificação e implementação de fluxos de trabalho distribuídos (redes de Petri, diagramas de mensagens, AUML). Computação móvel para negócio electrónico. Instituições electrónicas (normas, autenticação, contratos automáticos, monitorização, reputação). Arquitecturas para negócio electrónico. Arquitectura baseada em sistemas multi-agente. Ferramentas de implementação. Ontologias: especificação, criação, integração e exploração.
Semestre Lectivo: 2º Sem
Regência: Eugénio Oliveira, Ana Paula Rocha

6.3 Robótica

Programa: Conceitos Básicos de Robótica e enquadramento da Inteligência Artificial na Robótica. Arquitecturas baseadas em Agentes para Robôs. Percepção e interpretação sensorial: Distância, visão e localização. Introdução à Visão por Computador: Imagem Digital, Modelos de Cor, Processamento de Imagem, Análise de Imagem. Controlo de Robôs móveis: Locomoção e Acção. Criação, representação a actualização de Estados do Mundo. Geração Automática de Planos: Análise Meios-Fins, Planeamento Linear, Não-Linear, Hierárquico e Parcialmente Ordenado. Algoritmos de navegação em ambientes conhecidos/Desconhecidos: Diagramas de Voronoi, Algoritmos A* e D*, decomposição celular. Planeamento e Aprendizagem: Generalização de Planos. Robótica cooperativa: Introdução à cooperação entre robôs para a realização de tarefas em equipa. Competições Robóticas Nacionais e Internacionais: RoboCup, RoboOlympics, Fira Cup, Festival Nacional de Robótica, Micro-Rato, Robô Bombeiro. Simuladores robóticos: Soccerserver 2D e 3D, RoboCup Rescue, Ciber-Rato. Plataformas Robóticas: MindStorms, ERS210A e ERS-7 (AIBOS da Sony): Arquitecturas de Hardware e Software. Programação de robôs utilizando a linguagem RCODE e utilizando o OPEN-R SDK e a linguagem C++.
Semestre Lectivo: 1º Sem
Regência: Eugénio Oliveira, Luís Paulo Reis

7. Temas multidisciplinares

7.1 Seminários e Iniciação à Investigação

Programa: Seminários sobre temas multidisciplinares, incluindo seminários sobre Metodologias de Investigação. Preparação de proposta de trabalho de tese.
Semestre Lectivo: Obrigatória 2º Sem.
Regência: João Falcão e Cunha

7.2 Gestão de Projectos Informáticos

Programa: Gestão de equipas. Condução de reuniões. Relacionamento com clientes. Planeamento de projectos com incerteza. Controlo de custos (orçamentação, medição). Planeamento e gestão de recursos. Controlo de prazos (estimação, ...). Gestão de riscos. Metodologias e processos em projectos informáticos: projectos de desenvolvimento de produtos standard, projectos de desenvolvimento à medida, projectos de implementação, projectos de reengenharia, etc.. Gestão de outsourcing. Qualidade e certificação. Auditorias. Arquivo documental e workflow em projectos informáticos. Ferramentas.
Semestre Lectivo: 2º Sem.
Regência: José Baptista Mendonça, Raul Moreira Vidal