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