Saltar para:
Logótipo
Você está em: Início > Cursos/CE > MIEIC > Informação para Candidatos
Hoje é domingo
Clube de Leitura: Vamos a Livros || Verão com Histórias Dentro

Cursos

Mestrado Integrado em Engenharia Informática e Computação

Dados Gerais

Código Oficial: 9459
Sigla: MIEIC
Descrição: No final dos cinco anos do curso os diplomados terão uma formação avançada em Engenharia Informática e Computação, podendo ter escolhido uma área de especialização ou manter um leque mais alargado de interesses, mercê de uma ampla oferta de opções, configurável individualmente, contida no plano de estudos. As possíveis especializações incluem atualmente: * Engenharia de Software e Sistemas de Informação (2 sub-áreas com estes nomes) * Redes e Tecnologias de Informação (sub-áreas de Tecnologias da Internet e de Infraestruturas Informáticas) * Sistemas Inteligentes e Multimédia (2 sub-áreas com estes nomes)

Diplomas

  • Mestrado em Engenharia Informática e Computação (300 Créditos ECTS)
  • Licenciatura em Ciências de Engenharia - orientação em Engenharia Informática e Computação (180 Créditos ECTS)

Unidades Curriculares

Álgebra

EIC0003 - ECTS OBJECTIVOS ESPECÍFICOS:
Esta disciplina tem dois objectivos fundamentais: por um lado, tratando-se de uma disciplina propedêutica tem um carácter didáctico/científico, promovendo o desenvolvimento do raciocínio lógico e de métodos de análise e, por outro, visa introduzir e desenvolver em termos teóricos um conjunto de conceitos que serão ferramentas essenciais para apoio às disciplinas mais específicas da Engenharia.

RESULTADOS ESPERADOS:
No final do período lectivo os alunos devem ser capazes de:
1) Analisar e resolver sistemas de equações lineares.
2) Conhecer as operações básicas com matrizes, suas propriedades e saber operar com elas.
3) Definir matriz não singular, conhecer as propriedades da matriz inversa e saber determiná-la.
4) Definir o determinante de uma matriz, conhecer as suas propriedades e saber determiná-lo.
5) Definir espaço vectorial, subespaço vectorial e espaço euclideano.
6) Definir combinação linear de vectores, independência/dependência linear de vectores e subespaço gerado por um conjunto de vectores.
7) Definir e determinar uma base e a dimensão de um espaço vectorial; obter as componentes de um vector em relação a uma base.
8) Definir uma transformação linear, calcular e caracterizar o seu núcleo e contradomínio, conhecer as suas operações algébricas, saber em que condições ela é injectiva e, neste caso, definir e calcular a sua transformação inversa.
9) Recorrer à matriz para representar uma transformação linear e operar com transformações lineares recorrendo à álgebra matricial.
10) Definir matriz mudança de base e aplicá-la a problemas de mudanças de base envolvendo elementos de um espaço vectorial e transformações lineares.
11) Definir matrizes semelhantes e conhecer as suas propriedades.
12) Calcular valores próprios e vectores próprios de transformações lineares, conhecer as suas propriedades e identificar, no caso de ser possível, uma representação matricial diagonal para a transformação linear.

Análise Matemática

EIC0004 - ECTS Pretende-se ,que os alunos adquiram conhecimentos teóricos e práticos,sobre o cálculo diferencial e integral em R e em Rn(n=2,3),que possibilitem a aplicação das ferramentas básicas da análise matemática ao tratamento e resolução dos problemas mais adaptados ao perfil do curso,assim como ficar com capacidade para complementar os conhecimentos de forma a permitir desenvolver soluções para resolução de novas questões .

No final da disciplina, os alunos devem possuir as seguintes competências:

1. Saber derivar funções, desenhar graficos e estudar as funções
2. Saber integrar e aplicar os integrais em aplicações de engenharia
3. Dominar as técnicas de integração e as equações diferenciais
4. Saber relacionar séries e polinómios, perceber os conceitos da aproximação

Arquitectura e Organização de Computadores

EIC0083 - ECTS Esta unidade curricular introduz os princípios de funcionamento de um computador moderno e a sua arquitectura geral, com especial ênfase na contribuição de cada subsistema para o desempenho global. A análise da tecnologia de implementação física dos computadores (circuitos lógicos e de memória), associada à explicação das formas elementares de representação de informação em formato digital, permitirá aos alunos identificar e descrever princípios fundamentais da operação dos computadores, das linguagens de programação e do desenvolvimento de software.

Após completar esta unidade curricular, os alunos serão capazes de:

- Identificar e descrever os principais subsistemas de um computador pessoal;
- Explicar e avaliar o desempenho de computadores em cenários simples envolvendo a equação fundamental do desempenho e a lei de Amdahl;
- Descrever e interpretar formatos básicos de representação de informação numérica;
- Explicar e efectuar operações aritméticas elementares em base binária;
- Identificar e explicar o funcionamento de circuitos lógicos combinacionais e sequenciais;
- Explicar o funcionamento de circuito lógicos básicos como comparadores e somadores;
- Analisar o funcionamento de máquinas de estado do tipo Moore;
- Explicar os princípio básicos da codificação de instruções e identificar o seu impacto sobre o desempenho;
- Escrever programas simples em linguagem "assembly" envolvendo operações aritméticas e booleanas, testes e saltos;
- Descrever o funcionamento de uma unidade de processamento uniciclo; - especificar extensões simples da unidade de processamento;
- Descrever e explicar o funcionamento de "pipelines" e o seu impacto no desempenho;
- Determinar o impacto dos conflitos de dados e controlo de "pipeline" no desempenho de “pipelines”;
- Distinguir entre memórias estáticas e dinâmicas, e identificar as respectivas áreas de utilização;
- Explicar o funcionamento de memórias "cache";
- Avaliar numericamente a influência da hierarquia de memória sobre o desempenho.

Fundamentos da Programação

EIC0005 - ECTS 1 - INTRODUÇÃO
Os engenheiros informáticos requerem conhecimentos elevados de técnicas de programação que só pode ser consolidados com uma boa base de fundamentos da programação.

2 - OBJETIVOS ESPECÍFICOS
Desenvolver o conhecimento básico para resolver problemas de programação de média complexidade.

3 - CONHECIMENTO PRÉVIO
Nenhum conhecimento prévio é necessário.

4 - DISTRIBUIÇÃO PERCENTUAL
Componente científica: 40%
Componente tecnológica: 60%

5 - RESULTADOS DA APRENDIZAGEM
No final da unidade curricular, o aluno deverá ter capacidade para resolver situações de programação de média complexidade.
Mais especificamente, o estudante deverá ser capaz de:
- Desenvolver os algoritmos para a resolução dos problemas adotando uma abordagem estruturada;
- Selecionar e criar as abstrações adequadas, tanto ao nível dos procedimentos como dos dados;
- Utilizar como ferramenta de desenvolvimento a linguagem Scheme, caracterizada por uma sintaxe simples.

Matemática Discreta

EIC0011 - ECTS O principal objectivo é a aprendizagem de técnicas matemáticas para analisar e resolver problemas em diversas áreas de importância para a Informática.
No final do curso, os estudantes devem ser capazes de analisar problemas no âmbito da Informática usando metodologias da Matemática, pensamento abstracto, inferência lógica a partir de premissas e, assim, conseguir chegar a soluções rigorosas e concisas.

Projeto FEUP

FEUP002 - ECTS OBJECTIVOS
• Receber e integrar no ambiente FEUP os alunos recém chegados
• Dar a conhecer os principais serviços disponíveis
• Dar formação inicial nas áreas conhecidas como “Soft Skills” e alertar para a sua importância ao longo da carreira em engenharia (soft skills: trabalho em equipa, comunicação, etc.)
• Discutir cientificamente um tema / resolver um projecto de dificuldade limitada

RESULTADOS ESPERADOS
• RES_1 Conhecer a FEUP e utilizar os serviços comuns mais CICA, SICC, SERAC e SDI.
• RES_2 Demonstrar capacidades de comunicação (relatório, apresentação oral e poster).
• RES_3 Demonstrar capacidades de pesquisa, organização e síntese de informação
• RES_4 Demonstrar capacidades de trabalho em grupo: integrar a equipa; de se sujeitar à apreciação dos pares; de flexibilidade no relacionamento interpessoal; capacidade de interiorizar e respeitar as regras do grupo.
• RES_5 Demonstrar que os objectivos específicos do Tema/Projecto foram satisfeitos.

Nota: consultar mais abaixo a forma como cada um destes resultados é avaliado

Complementos de Matemática

EIC0009 - ECTS Pretende-se, na continuação de matérias dadas nas anteriores disciplinas de matemática, complementá-las, de forma a possibilitar ao aluno a compreensão da aplicação das ferramentas matemáticas, ao tratamento e resolução de problemas ligados às matérias versadas em disciplinas que constituem o currícula do mestrado integrado em engenharia informática .
Espera-se que os alunos no final da unidade curricular tenham adquirido as seguites competências:
-resolver equações diferenciais
-calcular integrais de linha e de superfície
-representar funções em séries de Fourier

Física I

EIC0010 - ECTS Para serem aprovados nesta unidade curricular, os estudantes deverão ser capazes de:
1. Analisar um sistema dinâmico identificando o tipo de sistema, variáveis de estado e equações de evolução.
2. Identificar os pontos de equilíbrio de um sistema dinâmico e caracterizá-los.
3. Resolver numéricamente as equações de evolução de um sistema dinâmico e interpretar as soluções.
4. Construir simulações de sistemas dinâmicos simples.

Métodos Estatísticos

EIC0105 - ECTS OBJECTIVOS ESPECÍFICOS:

Garantir que os alunos adquiram uma visão integrada de conceitos e técnicas básicas da Estatística no âmbito do curso de Engenharia Informática.

RESULTADOS ESPERADOS:

No final da unidade curricular, os estudantes devem ser capazes de:
- utilizar métodos para explorar, sumarizar e apresentar dados;
- utilizar métodos de inferência estatística.

Microprocessadores e Computadores Pessoais

EIC0016 - ECTS A unidade curricular de Microprocessadores e Computadores Pessoais tem por objectivo desenvolver, combinar e aplicar de forma integrada conceitos das áreas de Arquitectura de Computadores e de Linguagens de Programação. Por um lado, a unidade curricular explora as relações entre o conjunto de instruções do CPU e a programação de baixo nível (linguagem "assembly"). Por outro lado, reconhecendo que a arquitectura de computadores pessoais modernos vai muito para além da arquitectura do CPU, a unidade curricular abordará a arquitectura geral de um PC, incluindo o subsistema de armazenamento de dados e outros periféricos.
Estes assuntos são abordados com base na família de Microprocessadores Intel IA-32, usada na larga maioria dos computadores pessoais.

Após a conclusão com sucesso desta unidade curricular, o estudante terá adquirido a capacidade de identificar e descrever a arquitectura dos computadores pessoais em uso actualmente, bem como a capacidade de aplicar as técnicas de programação "assembly" na implementação de qualquer tipo de algoritmo.

Após completar esta unidade curricular, os estudantes serão capazes de:

- Identificar e descrever os principais subsistemas de um computador pessoal;
- Explicar e avaliar a contribuição de cada subsistema para o desempenho global;
- Usar ferramentas de compilação e depuração (MASM, depurador);
- Descrever a arquitectura do conjunto de instruções IA-32;
- Desenvolver programas curtos em linguagem "assembly" IA-32;
- Explicar o funcionamento de programas em "assembly" IA-32;
- Explicar os mecanismos de invocação de subrotinas;
- Utilizar subrotinas para implementar programas modulares;
- Usar o co-processador aritmético (instruções de vírgula flutuante);
- Estabelecer a correspondência entre código C e código "assembly";
- Descrever e avaliar o desempenho de sistemas de aramazenamento de dados (discos magnéticos);
- Distinguir diferentes tipos de RAID;
- Descrever, selecionar e avaliar o desempenho de diferentes métodos de comunicação com periféricos ("polling", interrupções, DMA)
- Explicar os princípios de funcionamento de barramentos de comunicação com periféricos;
- Descrever a organização do subsistema gráfico de um computador pessoal.
- Explicar a utilidade e arquitectura geral de um GPU.

Programação

EIC0012 - ECTS O estudante deverá completar e consolidar a aprendizagem de programação iniciada na disciplina Fundamentos da Programação com a linguagem Scheme, utilizando agora a linguagem C++.
No final da unidade curricular o estudante será capaz de:
- identificar os conceitos fundamentais da programação procedimental e da programação baseada em objectos;
- resolver problemas de programação de baixa e média complexidade utilizando a linguagem C++ e as abstracções definidas na biblioteca standard do C++;
- desenvolver soluções para problemas de programação que passem pela definição e implementação em C++ de abstracções definidas pelo próprio.

Algoritmos e Estruturas de Dados

EIC0013 - ECTS Na sequência das unidades curriculares de Introdução à Programação, é objectivo desta unidade curricular:
- recorrer às noções de programação já estabelecidas e sistematizar o uso de estruturas de informação e de algoritmos para resolver categorias de problemas
- usar, como paradigma de suporte ao desenvolvimento de programas, a orientação por objectos
- dar ênfase à organização dos programas em torno de tipos de dados abstractos.
Serão realizados pequenos projectos usando a linguagem C++.

No final da unidade curricular, os estudantes deverão ter competência para modelar problemas recorrendo ao paradigma da orientação por objectos ; resolver problemas fazendo uso de tipos de dados abstractos e estruturas de dados simples lineares e não lineares.

Física II

EIC0014 - ECTS Para serem aprovados nesta unidade curricular, os estudantes deverão ser capazes de:

Analisar circuitos eléctricos simples e explicar o seu funcionamento.
Reconhecer fenómenos electromagnéticos na sua experiência quotidiana.
Explicar o funcionamento de aparelhos eléctricos usando princípios físicos.
Avaliar diferentes dispositivos eléctricos que realizem funções semelhantes (exemplo: ecrãns de CRT, plasma, LCD, OLED, etc) identificando as vantagens e desvantagens de cada um.

Laboratório de Computadores

EIC0020 - ECTS Os objectivos da unidade curricular são dotar os estudantes com conhecimentos essenciais para serem capazes de:
- utilizar a interface de "hardware" dos periféricos mais habituais de um PC;
- desenvolver "software" de baixo nível e de "software" embebido para a plataforma PC;
- usarem a linguagem de programação C de modo estruturado;
- utilizarem várias ferramentas de desenvolvimento de software.

Todos os estudantes que terminarem a unidade curricular com sucesso serão capazes de compreender os principais modelos de acesso a dispositivos periféricos e aplicá-los em programas de alto nível, relativamente complexos.

Métodos Numéricos

EIC0021 - ECTS A disciplina pretende em primeiro lugar fornecer aos alunos competências sólidas no cálculo numérico. Será organizada por tópicos, cobrindo os problemas de representação numérica, a resolução de equações e sistemas de equações algébricas e diferenciais, a integração definida, a optimização não linear e o ajuste curvas.

O aluno deverá:
- desenvolver a capacidade de identificar os problemas numéricos, propondo diferentes metodologias de resolução, escolhendo e implementando adequadamente um método de resolução. A escolha decorrerá de um processo de experimentação;
- compreender o enquadramento dos métodos numéricos no contexto da engenharia, pelo que os problemas propostos serão, sempre que possível, situações concretas da engenharia, de forma a que o método numérico seja entendido no seu contexto de aplicação;
- desenvolver a capacidade crítica, pelo que os resultados obtidos serão sempre objecto de crítica, quer em termos do método, quer em termos da implementação, quer em termos do próprio problema.

Como o enfoque da disciplina não é a algoritmia dos métodos mas a compreensão da sua aplicabilidade e da sua implementação, as ferramentas informáticas mais usadas nas aulas serão as que fornecem uma maior clareza no processo de cálculo, rapidez de desenvolvimento e flexibilidade, essencialmente 'super máquinas de calcular', como são as folhas de cálculo,
os manipuladores algébricos ou matriciais. Dominado o processo numérico, é pedido ao aluno que faça a sua implementação usando ferramentas mais eficientes, mas menos flexíveis e de maior exigência em termos de preparação, como são as linguagens de programação.

Teoria da Computação

EIC0022 - ECTS Ao completar a disciplina, espera-se que os estudantes sejam capazes de:

- Nomear as contribuições significativas para a teoria da computação e os seus protagonistas;

- Identificar problemas tratáveis com autómatos finitos e exprimi-los com notação rigorosa;

- Comparar os autómatos finitos deterministas, não deterministas e as expressões regulares no reconhecimento das linguagens regulares;

-Aplicar as propriedades das linguagens regulares em provas;

- Identificar problemas que se podem tratar com gramáticas sem contexto e usar notação rigorosa para os descrever;

- Comparar as gramáticas sem contexto e os autómatos de pilha no reconhecimento das linguagens sem contexto;

- Exprimir problemas de computação com recurso ao modelo da máquina de Turing;

- Relacionar os modelos de computação estudados com as suas aplicações na teoria da computabilidade e da complexidade.

Bases de Dados

EIC0023 - ECTS O principal objectivo desta unidade curricular é o de preparar os estudantes para projectarem e desenvolverem sistemas de bases de dados adequados às necessidades dos utilizadores e aos objectivos de gestão das organizações.
O principal objectivo desta unidade curricular é o de preparar os estudantes para projectarem e desenvolverem sistemas de bases de dados adequados às necessidades dos utilizadores e aos objectivos de gestão das organizações.

Ao completar esta unidade curricular os estudantes deverão ser capazes de:
- construir um diagrama conceptual (tanto o diagrama de classes UML como o modelo entidade-associação)
- traduzir o modelo de classes UML para o modelo relacional
- garantir a normalização dos dados na 3ª forma normal de Boyce-Codd
- construir uma base de dados relacional através da linguagem de definição de dados SQL
- usar álgebra relacional para formular perguntas a bases de dados
- interrogar bases de dados através da linguagem de manipulação de dados SQL e de linguagens procedimentais
- optimizar o desempenho das interrogações através da utilização de índices
- garantir um adequado controlo de acessos à base de dados
- efectuar e gerir transações que garantam a integridade dos dados
- explicar as componentes principais de um sistema de gestão de bases de dados
- explicar como se interage com uma base de dados numa arquitectura cliente - servidor
- explicar os fundamentos dos armazéns de dados

Computação Gráfica

EIC0019 - ECTS Transmitir o conhecimento de conceitos, técnicas, algoritmos, tecnologias e arquitecturas de Computação Gráfica.
É dada importância à aplicação prática dos conhecimentos adquiridos, por meio da implementação, teste e avaliação de algoritmos abordados em teoria. A abordagem das matérias segue uma filosofia tipo Top-Down, iniciando-se com os temas mais relacionados com os 3D (síntese de imagem, modelação) e terminando com a visita a vários algoritmos mais elementares, no âmbito dos 2D.
A componente 3D da matéria é acompanhada, nas aulas práticas, com exercícios baseados numa tecnologia de grande utilização, o OpenGL. Para a componente 2D, recorre-se a um sistema de desevolvimento com programação gráfica em Java (Eclipse).

No final da unidade curricular os estudantes deverão ser capazes de:
- compreender a interligação dos vários módulos de um sistema gráfico 3D;
- desenhar e implementar pequenas aplicações orientadas para os 3D;
- desenhar e implementar aplicações com interface gráfica, nas suas várias vertentes;
- dominar a programação por eventos.

Concepção e Análise de Algoritmos

EIC0110 - ECTS Esta Unidade Curricular tem por objectivo complementar e aprofundar os conhecimentos assimilados nas disciplinas de "Programação" e de "Algoritmos e Estruturas de Dados", nomeadamente pela introdução de técnicas de concepção implementação de algoritmos eficientes para a resolução de diferentes tipos de problemas, assim como a sua análise e avaliação. Pretende-se dotar os estudantes das seguintes competências:

* conhecer e saber aplicar algoritmos eficientes em grafos, conjuntos e cadeias de caracteres;
* conhecer e saber aplicar técnicas genéricas de concepção de algoritmos;
* conhecer alguns problemas intratáveis e algoritmos que fornecem soluções aproximadas para alguns deles.

No final da Unidade Curricular, espera-se que o estudante seja capaz de caracterizar o problema que lhe é apresentado, formalizá-lo, conceber algoritmos eficientes para solucioná-los, e avaliar a solução concebida.

Laboratório de Programação Orientada por Objectos

EIC0111 - ECTS Objectivos:
Desenvolver competências de desenvolvimento de programas (desenho, programação e teste) com alguma complexidade, utilizando tecnologias orientadas por objectos, nomeadamente a linguagem de programação Java, a linguagem de modelação Unified Modeling Language (UML), o IDE Eclipse, e o "framework" de testes unitários JUnit.

Resultados de aprendizagem:
No final da unidade curricular, os estudantes deverão:
- saber desenvolver (desenhar, codificar, documentar, analisar, testar e manter) programas orientados por objectos com UML e Java;
- saber utilizar ferramentas de suporte às várias fases do desenvolvimento e manutenção de programas;
- ser capazes de reutilizar padrões e "frameworks".

Sistemas Operativos

EIC0027 - ECTS No final desta disciplina, os alunos deverão ser capazes de:
- descrever as funções e a estrutura de um sistema operativo, e identificar as suas abstracções principais;
- descrever o funcionamento dos componentes essenciais de um sistema operativo, a forma como esses componentes interagem entre si e os algoritmos fundamentais usados na sua implementação;
- desenvolver programas que utilizem e explorem a API de um sistema operativo concreto (UNIX/LINUX).

Bases de Dados

EIC0023 - ECTS O principal objectivo desta unidade curricular é o de preparar os estudantes para projectarem e desenvolverem sistemas de bases de dados adequados às necessidades dos utilizadores e aos objectivos de gestão das organizações.

Ao completar esta unidade curricular os estudantes deverão ser capazes de:
- construir o diagrama de classes UML
- traduzir o modelo de classes UML para o modelo relacional
- garantir a normalização dos dados na 3ª forma normal de Boyce-Codd
- construir uma base de dados relacional através da linguagem de definição de dados SQL
- usar álgebra relacional para formular perguntas a bases de dados
- interrogar bases de dados em através da linguagem de manipulação de dados SQL e de linguagens procedimentais
- optimizar o desempenho das interrogações através da utilização de índices
- garantir um adequado controlo de acessos à base de dados
- efectuar e gerir transações que garantam a integridade dos dados
- explicar as componentes principais de um sistema de gestão de bases de dados
- explicar como se interage com uma base de dados numa arquitectura cliente - servidor
- explicar os fundamentos dos armazéns de dados

Engenharia de Software

EIC0024 - ECTS Objectivos:
Familiarizar-se com os métodos de engenharia e gestão necessários ao desenvolvimento de sistemas de software complexos e/ou em larga escala, de forma economicamente eficaz e com elevada qualidade.

Resultados de aprendizagem:
No final da unidade curricular, os estudantes deverão ser capazes de:
- descrever os princípios, conceitos e práticas da engenharia de software e do ciclo de vida do software;
- conhecer e saber aplicar as técnicas e ferramentas necessárias para executar e gerir as várias actividades do processo de desenvolvimento de software de qualidade;
- explicar os métodos e processos de construção de diferentes tipos de sistemas de software.

Laboratório de Aplicações com Interface Gráfica

EIC0084 - ECTS Esta unidade curricular tem por objectivo principal desenvolver um conjunto de competências práticas, algumas já tratadas em unidades curriculares anteriores num contexto mais teórico. Foca-se em trabalhos práticos de desenvolvimento, tendencialmente multidisciplinares, nomeadamente nas áreas de Computação Gráfica e Interfaces, de Programação em Lógica e de Sistemas Operativos.

No fim da unidade curricular os estudantes devem ser capazes de:
- Projectar aplicações e respectivas estruturas, adequadas à utilização em tecnologia de síntese deimagem,
- Conceber, desenvolver e avaliar aplicações com interface gráfica 3D recorrendo a uma tecnologia adequada de síntese de imagem,
- Integrar código desenvolvido em ambientes e linguagens de natureza diferente, utilizando tecnologias de comunicação.

Pretende-se dotar os alunos de capacidade de exploração adequada ao desenvolvimento de software, nomeadamente na criação de ambientes 3D (representação poligonal, iluminação e interacção) e na utilização dos serviços oferecidos por um sistema operativo, com ênfase especial em comunicações e sincronização.

Linguagens e Tecnologias Web

EIC0112 - ECTS Pretende-se, através desta disciplina, que os alunos desenvolvam competências nas linguagens e tecnologias WEB mais significativas, no contexto tecnológico actual, ou que foram determinantes no processo evolutivo da WEB. Assim, pretende-se que os estudantes que obtenham aprovação à disciplina, consigam:
1-Reconhecer os vários tipos de pedidos e respostas definidos pelo HTTP 1.1
2-Implementar, numa linguagem scriptica, um cliente HTTP simples.
3-Identificar e seleccionar as linguagens e tecnologias mais apropriadas para o desenvolvimento de um site WEB.
4-Ter um bom domínio das linguagens de definição de páginas web e de folhas de estilo.
5-Desenvolver, em Javascript, páginas HTML dinâmicas.
6-Integrar no HTML, através da interface DOM, os conteúdos,em XML ou JSON, das respostas assíncronas recebidas pelo método HTTPRequest
7-Desenvolver scripts, de servidor, para processarem pedidos e gerarem respostas, através da interface CGI.
8-Descrever um conjunto de informação num documento XML válido segundo uma DTD ou um XML Schema.
9-Criar uma DTD, ou um XML Schema, para descrever uma linguagem de anotação para um determinado domínio utilização.
10-Definir, usando a linguagem declarativa XSL, um conjunto de regras para transformação de documentos XML.
11-Identificar os diversos componentes de uma descrição, em WSDL, de um Web-Service.
12-Implementar um cliente de aplicação WEB que utilize REST.

Programação em Lógica

EIC0026 - ECTS Os objectivos da Unidade Curricular são apresentar o paradigma de programação baseado na lógica de 1ª ordem (um seu sub-conjunto) de forma a gerar as competências a seguir enunciadas:
Adquirir familiaridade com os paradigmas da Programação em Lógica e Programação com Restrições e com a linguagem Prolog.
Desenvolver as capacidades de raciocínio abstracto e de representação de problemas de forma declarativa.
Reconhecer as categorias de problemas em que a Programação em Lógica (e com Restrições) é particularmente adequada.
Experimentar e praticar as técnicas de programação em Prolog e de programação com restrições.
Construir aplicações completas em Prolog com eventual ligação a outras linguagens.
Desenvolver e aplicar as competências de programação requeridasnos trabalhos das disciplinas da área da Inteligência Artificial.

Redes de Computadores

EIC0032 - ECTS O programa da disciplina e a organização das aulas (teóricas e laboratoriais) têm como objectivo permitir aos alunos o desenvolvimento, de forma articulada, de um conjunto de aptidões de carácter técnico, pessoais e profissionais, inter-pessoais, e de concepção, projecto e implementação de sistemas. Estes vários aspectos estão mapeados, de forma equilibrada, no processo de avaliação.

Descrevem-se a seguir de forma detalhada os principais objectivos a atingir, organizados por tipo de aptidão a desenvolver.

1. Aquisição de conhecimentos técnicos

A componente teórica da disciplina tem como principal objectivo que os alunos adquiram formação básica no domínio das Redes de Comunicação de Dados, que inclui os princípios e conceitos arquitectónicos essenciais, as tecnologias e soluções mais usadas e as principais normas em vigor em LANs (Local Area Networks) e WANs (Wide Area Networks).

Estes conhecimentos constituem a base para a aquisição de outras competências referidas nos pontos seguintes.

2. Aplicação de conhecimentos (concepção, projecto e implementação de sistemas)

A componente laboratorial (experimental) da disciplina consiste na realização ao longo do semestre de dois trabalhos laboratoriais e tem como objectivo principal a aplicação prática e a análise crítica dos conhecimentos teóricos, através da concepção, desenvolvimento e teste de dois módulos de comunicação: um protocolo de ligação de dados para comunicação entre dois computadores através duma ligação série e a construção de uma rede local de computadores com estudo do tráfego transportado.

A realização destes trabalhos permite igualmente o desenvolvimento de outras aptidões pessoais, profissionais e inter-pessoais.

3. Desenvolvimento de aptidões pessoais e profissionais

A componente teórica da disciplina inclui a abordagem de problemas numa perspectiva sistémica, evidenciando a interacção entre os componentes que constituem um sistema de comunicação ou uma rede complexa.

Para além disso, é igualmente orientada para o desenvolvimento da capacidade de análise e resolução de problemas, essencialmente focados na avaliação de desempenho de redes, com base em modelos analíticos, tendo como objectivo a identificação de parâmetros críticos de desempenho e critérios para o respectivo dimensionamento.

A componente laboratorial da disciplina permite desenvolver a capacidade de experimentação, aplicação e verificação de conhecimentos, bem como a sua integração a nível de sistema.

4. Desenvolvimento de aptidões inter-pessoais (trabalho em grupo e comunicação)

Os trabalhos laboratoriais são realizados em grupo e desenvolvem-se ao longo de várias semanas, o que requer capacidade de planeamento e coordenação de tarefas por parte dos elementos de cada grupo (ou mesmo entre grupos, no caso do primeiro trabalho).

Para além disso, os trabalhos laboratoriais são objecto duma apresentação e demonstração por parte de cada grupo, complementados com a respectiva documentação através dum relatório técnico. Todos estes componentes são considerados na avaliação e classificação dos trabalhos.

Compiladores

EIC0028 - ECTS Fornecer os conceitos que permitam:
- compreender as fases de compilação de linguagens, em especial das linguagens imperativas e orientada por objectos;
- especificar a sintaxe e semântica de uma linguagem de programação;
- compreender e utilizar as estruturas de dados e os algoritmos principais usados na implementação de compiladores.

As competências adquiridas permitirão aos estudantes:
- desenvolver e implementar em software processadores de linguagens artificiais e de informação especificada textualmente segundo determinadas regras lexicais e sintácticas;
- conceber e implementar em software as várias etapas relacionadas com compiladores, nomeadamente:
- expressões regulares e autómatos finitos;
- analisadores sintácticos e semânticos;
- analisadores semânticos;
- optimizações de código;
- geradores de código para processadores ou para máquinas virtuais;

Inteligência Artificial

EIC0029 - ECTS Saber o que caracteriza e distingue a IA e qual a sua aplicabilidade.
Saber como Representar, Adquirir, Manipular e Aplicar Conhecimento usando Sistemas Computacionais:
-Saber representar Conhecimento impreciso.
-Comparar métodos heurísticos e sistemáticos na pesquisa de soluções.
-Aplicar uma linguagem baseada na lógica:
--Desenvolver interfaces em Linguagem Natural e Motores de inferência para Sistemas Periciais.
-Conhecer algorítmos de aprendizagem Indutiva e dedutiva.

-Desenvolver um pequeno projecto usando técnicas de IA.

Laboratório de Bases de Dados e Aplicações Web

EIC0085 - ECTS Nesta disciplina pretende-se dotar os estudantes da capacidade de projectar e desenvolver sistemas de informação acessíveis através da web e suportados por sistemas de gestão de bases de dados.

Ao completar esta disciplina, o estudante deve ser capaz de:
1. Elicitar os requisitos de um sistema de informação
2. Identificar os Actores e respectivos Casos de Utilização
3. Elaborar os Diagramas de Casos de Utilização em UML
4. Obter o Modelo de Objectos do Domínio
5. Obter o Esquema Lógico Relacional da base de dados
6. Validar o Esquema relacional com base nas dependências funcionais
7. Obter o Esquema Físico da base de dados
8. Afinar o Esquema Lógico Relacional
9. Explorar a base de dados usando o Sistema de Gestão de Bases de Dados PostgreSQL
10. Elaborar interrogações à base de dados em SQL
11. Implementar restrições de integridade e gatilhos
12. Definir transacções
13. Definir uma arquitectura de tratamento de erros no acesso a dados
14. Definir privilégios de utilizadores e de grupos de utilizadores
15. Utilizar a linguagem de scripting PHP e algumas das suas bibliotecas para construir a interface com o utilizador e a Lógica de Negócio da aplicação Web
16. Obter a interface com o utilizador em HTML
17. Definir estilos de apresentação através da utilização de CSS
18. Validar regras de integridade na introdução de dados em formulários através da utilização de JavaScript
19. Utilizar a biblioteca de JavaScript jQuery para interagir com o documento fazer pedidos AJAX
20. Garantir que as páginas Web obtidas estão de acordo com as normas de acessibilidade e usabilidade

Proficiência Pessoal e Interpessoal

EIC0031 - ECTS ●Identificar e adquirir os conhecimentos essenciais para saber como maximizar progressivamente as condições de êxito da performance pessoal e interpessoal.
●Aplicar técnicas de auto-controlo e estratégias de relacionamento interpessoal que permitam gerir com elevada mestria a eficiência dos processos de trabalho a implementar e a eficácia dos resultados a atingir em cada organização.
●Ter consciência da importância de saber utilizar competências complementares (soft skills) e de realizar mudanças evolutivas de forma a desenvolver um perfil profissional que contribua para melhorar o futuro desempenho do engenheiro informático.

Sistemas Distribuídos

EIC0036 - ECTS Dotar os estudantes com a capacidade de:
- conceber e implementar aplicações distribuídas relativamente simples
- avaliar a adequação de soluções distribuídas para diversos problemas.

Agentes e Inteligência Artificial Distribuída

EIC0033 - ECTS 1- INTRODUÇÃO
A unidade curricular assume-se como de Engenharia (evidenciando apenas a teoria essencial para se entender as aplicações práticas) e proporciona uma perspectiva global das técnicas associadas à especificação e desenvolvimento de Agentes computacionais bem como realça a sua relevância prática apresentando exemplos de aplicação.

2 - OBJECTIVOS ESPECÍFICOS
A Programação Orientada a Agentes é apresentada como uma nova metáfora para a descrição e programação de sistemas computacionais distribuídos.
Os conhecimentos sobre Agentes e Sistemas Multi-Agente são apreendidos quer usando formalismos lógicos quer através da utilização de ferramentas de software.
Para consolidar os conhecimentos ministrados nas aulas teóricas incentiva-se a realização de pequenos projectos, apoiados nas aulas práticas, ilustrativos dos tópicos abordados na disciplina.

3 - CONHECIMENTO PRÉVIO
É útil o conhecimento de técnicas de Inteligência Artificial.

4 - DISTRIBUIÇÃO PERCENTUAL
Componente científica: 50%
Componente tecnológica: 50%

5 - RESULTADOS DA APRENDIZAGEM
No final da unidade curricular, o estudante deverá apresentar competência para:
- Conhecer a especificidade dos Agentes de software;
- Reconhecer e caracterizar as classes de problemas mais adequados à utilizaçao de Agentes e Sistemas Multi-Agente;
-Especificar, através de formalisms lógicos comportamentos dos Agentes;
- Explorar ferramentas de construção de Agentes e Sistemas Multi-Agente;
- Definir e Incluir estratégias de decisão inteligente em Agentes de Software.

Gestão de Empresas

EIC0034 - ECTS A unidade curricular tem por objectivo desenvolver competências na área da Gestão, integrando uma sólida componente teórica, baseada na apresentação e discussão de conceitos e metodologias, com a sua aplicação a um projecto de estudo de uma empresa e à discussão de casos de estudo. No final da unidade curricular, os estudantes devem:
1. Compreender as diferentes áreas funcionais da Gestão e a forma como se interligam na estratégia global da empresa.
2. Compreender e explorar a forma como as tecnologias de informação podem ser um elemento potenciador da Gestão.
3. Ser capazes de aplicar um conjunto conceitos, métodos e ferramentas de Gestão.
4. Ser capazes de coordenar múltiplas tarefas interdisciplinares, integrando as diferentes área da Gestão, de forma a atingir os objectivos comuns.
5. Ser capazes de aplicar os métodos e ferramentas da Gestão à análise de empresas e da identificação de melhorias.
6. Ser capazes de aplicar os métodos e ferramentas de Gestão à análise e discussão de casos.
7. Ser capazes de desenvolver trabalho em equipa.

Laboratório de Desenvolvimento de Software

EIC0086 - ECTS Pretende-se que os estudantes consigam:

- aplicar os conhecimentos anteriormente adquiridos em disciplinas nas áreas de Engenharia de Software, Bases de Dados, Interfaces Gráficas, Sistemas Operativos, Linguagens de Programação e Inteligência Artificial.
- aplicar um processo de Engenharia de Software ao desenvolvimento completo de uma aplicação abrangendo a especificação de requisitos, desenho de software, implementação, integração, teste e documentação.
- adquirir conhecimentos e experiência prática sobre as práticas de desenvolvimento ágil de software: planeamento de iterações, testes unitários, refactoring, pattern-based design, autoria colectiva de código, programação em pares, integração contínua.
- utilizar ferramentas de desenvolvimento de software adequadas à metodologia em uso e que permitam o acompanhamento do desenvolvimento do produto durante todo o seu ciclo de vida.
- utilizar de APIs de grande escala contendo pacotes de classes, introduzindo a computação baseada em componentes e problemas relacionados com a integração aplicacional.
- analisar as variantes mais conhecidas de processos ágeis.
- aplicar os conhecimentos num caso de estudo real a desenvolver ao longo do semestre.
- trabalhar em equipa
- integrar outros intervenientes do projecto em decisões de desenho e planeamento e delegar, negociar e rever estas decisões em grupo.

Métodos Formais em Engenharia de Software

EIC0039 - ECTS No final da unidade curricular os estudantes devem ser capazes de:
- aplicar métodos formais de especificação (baseado em modelos; baseado em propriedades; baseado em comportamento) e verificação ("Model-checking", provas formais e teste) no desenvolvimento de sistemas de software.
- identificar os métodos formais existentes e saber quando devem ser aplicados e quais são mais adequados em cada caso.

Sistemas de Informação

EIC0040 - ECTS Preparar os estudantes para compreender o papel dos Sistemas de Informação (SI) nas organizações e a importância de estes se encontrarem alinhados com a estratégia e negócio das organizações.

No final da unidade curricular, os estudantes devem ser capazes de utilizar e desenvolver aplicações que integrem com ERP. Os sistemas de informação empresariais usados na unidade curricular serão: SAP, SAGE X3, Microsoft Dynamics NAV e Primavera.

Arquitectura de Sistemas de Software

EIC0048 - ECTS À medida que os sistemas de software aumentam de dimensão e de complexidade torna-se cada vez mais importante compreendê-los a níveis de abstracção mais elevados.
A arquitectura de um sistema de software descreve a sua estrutura global em termos dos seus componentes, das propriedades externas desses componentes e das suas interrelações. Para sistemas de média e grande dimensão a escolha adequada da arquitectura assume uma importância crucial para o sucesso do seu desenvolvimento.
A disciplina de Arquitecturas de Sistemas de Software tem como objectivo principal introduzir os conceitos de arquitecturas de software, padrões de desenho e tópicos directamente relacionados, tais como o de componentes de software. Pretende ensinar a desenhar, compreender e avaliar arquitecturas de sistemas de software, tanto ao nível de abstracção de macro-arquitectura como de micro-arquitectura e assim familiarizar os alunos com os conceitos fundamentais de arquitectura de software, as propriedades e aplicabilidade dos diferentes estilos de arquitectura existentes, os padrões de desenho mais populares, componentes de software, arquitecturas reutilizáveis e as relações destes conceitos todos com a reutilização de software.

No final da disciplina os alunos deverão ser capazes de:

*Reconhecer os principais estilos de arquitectura existentes para sistemas de software.
*Descrever uma arquitectura de forma precisa.
*Idealizar diferentes arquitecturas alternativas para resolver um mesmo problema e avaliar de forma justificada qual a melhor, quer em termos de desenho, quer em termos de reutilização.
*Reconhecer e compreender diversos padrões de desenho.
*Conhecer e aplicar diversos métodos e técnicas de reutilização de software.
*Construir um sistema de software de média dimensão de acordo com uma especificação de requisitos e uma especificação de arquitectura, seleccionando e aplicando padrões de desenho e utilizando um método de desenvolvimento baseado em componentes.
*Utilizar definições e ferramentas de desenvolvimento existentes para tornar mais expedita a realização das tarefas anteriores.

Computação Paralela

EIC0089 - ECTS Aquisição de conhecimentos conducentes à utilização simultânea de várias unidades de processamento num sistema de computação, utilizando técnicas e tecnologias da programação paralela.
As competências a adquirir incluem:
o projecto e implementação de algoritmos paralelos em consonância com as possíveis arquitecturas de multi-processamento;
a escolha apropriada dos modelos de programação e a previsão de desempenho;
a utilização fluente do MPI e OpenMP;
identificação e resolução de possíveis problemas de sincronização.

Desenvolvimento de Jogos de Computador

EIC0090 - ECTS 1 - INTRODUÇÃO
Os engenheiros informáticos podem tirar grandes vantagens em possuir competências no desenvolvimento de jogos digitais, não só como produto final da indústria do entretenimento, mas também pelas capacidades imersiva e de interactividade desta tecnologia, que podem potenciar, inclusivamente, a aprendizagem.

2 - OBJECTIVOS ESPECÍFICOS
O objectivo desta unidade curricular é transmitir o conhecimento sobre o processo de desenvolvimento de jogos de computador, com ênfase particular nos aspectos relacionados com a programação dos diversos módulos que compõem um motor de jogo.

3 - CONHECIMENTOS PRÉVIOS
Programação e Computação Gráfica.

4 - DISTRIBUIÇÃO PERCENTUAL
Componente científica: 30%
Componente tecnológica: 70%

5 - RESULTADOS DA APRENDIZAGEM
No final da unidade curricular o estudante será capaz de:
- Identificar as diversas fases do projecto de um jogo de computador e todas as competências envolvidas;
- Aplicar técnicas de programação de jogos de computador nas suas várias vertentes;
- Seleccionar os algoritmos e as técnicas de programação que melhor se adequam à especificação e design de um jogo de computador;
- Desenvolver, programar ou estender os diversos módulos que compõem um motor de jogo.
- Desenvolver o projecto de um jogo de computador, enquadrando-se numa equipa multidisciplinar.

Engenharia de Requisitos de Sistemas de Software

EIC0053 - ECTS --------
Objectivos
--------
Dotar os alunos com competências para planear, gerir e levar a cabo um processo de análise e especificação de requisitos de um sistema de software.

--------
Resultados de aprendizagem
--------
Ao serem aprovados à unidade curricular, os estudantes serão capazes de:
- definir requisito de um sistema de informação e explivcar a sua importância
- explicar a importância do processo de engenharia de requitos no sucesso de um sistema de informação
- descrever o processo de engenharia de requisitos de um sistema de informação
- identificar e explicar os papéis e actores no processo de engenharia de requisitos
- descrever a aplicação na engenharia de requisitos das técnicas de análise de problemas
- explicar como se usam e aplicar as técnicas de workshops de requisitos e prototipagem
- aplicar as técnicas de cenários e storyboarding e observação e análise social (métodos etnográficos)
- explicar em que consiste e qual a importância da análise de requisitos
- descrever as técnicas de análise de requisitos
- explicar a importância da classificação de requisitos
- classificar requisitos quanto a prioridade e risco
- explicar a necessidade e importância da negociação de requisitos
- negociar requisitos
- descrever as várias formas de representação de requisitos
- descrever a estrutura básica de um documento de requisitos
- estruturar a descrição dos requisitos de um sistema segundo a norma IEEE 830-1998
- construir modelos de casos de uso simples a partir de uma descrição de requisitos
- elaborar um documento de requisitos completo.

Gestão de Operações e Logística

EIC0091 - ECTS

Investigação Operacional

EIC0037 - ECTS Dotar os alunos com competências para:
- identificar problemas de decisão;
- aplicar as várias fases de resolução de um problema de decisão, em particular, a definição e estruturação de problemas, a construção de modelos e a utilização de métodos quatitativoas para a obtenção da solução
- analisar de forma crítica a solução obtida
- perceber a importância do papel de agente de mudança nas organizações

Laboratório de Gestão de Projectos

EIC0106 - ECTS Desenvolver nos estudantes as capacidades de gestão de projectos de software e trabalho em equipa, habilitando-os assim a resolver a diversidade de problemas que tipicamente surgem em projectos deste tipo numa organização real e estimulando, em simultâneo, a capacidade de empreender.

Marketing

EIC0061 - ECTS A unidade curricular tem por objectivo desenvolver competências na área da Gestão de Marketing, integrando uma sólida componente teórica, baseada na apresentação e discussão de conceitos e metodologias, com a sua aplicação ao desenvolvimento de um planod e marketing e à discussão de casos de estudo. No final da unidade curricular, os estudantes devem ser capazes de:
1. Compreender o papel do Marketing na gestão das organizações;
2. Compreender e aplicar os principais conceitos e instrumentos de Marketing ao desenvolvimento de estratégias e planos de Marketing nas organizações.
3. Compreeender e aplicar os conceitos de Marketing à gestão do relacionamento com os clientes.
4. Utilizar os conceitos e intrumentos do Marketing para apoiar o desenvolvimento e oferta de produtos e serviços de base tecnológica.
5. Utilizar os conceitos e intrumentos de Marketing para compreender os factores de mercado.
6. Desenvolver estratégias e planos de Marketing.

Metodologias de Planeamento e Escalonamento

EIC0063 - ECTS Permitir aos alunos utilizar as metodologias mais recentes na resolução de problemas avançados de planeamento e escalonamento.

Competências doe estudantes esperadas:
- Saber aplicar métodos tradicionais de Planeamento e Escalonamento em processos de fabrico, serviços e projectos;
- Saber ponderar a aplicação de métodos baseados em IA para Planeamento.

Multimédia e Novos Serviços

EIC0064 - ECTS São objectivos da unidade curricular:
a) apresentar os conceitos, os serviços e as aplicações multimédia e hipermédia;
b) apresentar as técnicas de codificação e representação da informação multimédia;
c) introduzir as ferramentas de desenvolvimento de aplicações;
d) desenvolver aplicações.

No final da unidade curricular os estudantes deverão ser capazes de:
- Identificar as diversas tecnologias necessárias para uma aplicação ou serviço multimédia;
- Conhecer a realidade, os requisitos e os constrangimentos das diferentes tecnologias envolvidas;
- Projectar uma aplicação ou um serviço multimédia tendo em conta as limitações tecnológicas;
- Desenvolver uma aplicação ou um serviço multimédia utilizando a ferramenta de autoria Adobe Flash.

Serviços de Rede e de Sistema

EIC0092 - ECTS O objectivo desta unidade curricular é o de dotar os alunos com conhecimentos consolidados na area das redes de computadores sob uma prespectiva de projectores e gestores de uma rede, nomedadamente, constituição de varias sub-redes para satisfazer requisitos especificos, atribuição de gamas de enderecos IP, identificação de servicos de redes necessarios, sua instalação e configuração. No final da unidade curricular os estudantes serão capazes de projectar e configurar as infra-estruturas de rede e sistemas de uma rede empresarial dotada de todos os servicos fundamentais tais como DNS, email, Web.

Sistemas Críticos

EIC0073 - ECTS Abrir os horizontes dos Engenheiros Informáticos, especialistas em desenvolvimento de software, para a área dos Sistemas Críticos. Abordar noções ligadas à cultura da Segurança, fundamentais para o ciclo de vida de desenvolvimento de Sistemas Críticos.

No final desta unidade curricular, espera-se que os estudantes tenham consolidado os seus conhecimentos sobre:
- A necessidade de uma abordagem sistémica da Segurança;
- As principais técnicas de tolerância a falhas baseadas em software;
- Os principais meios de verificação e validação de confiança no funcionamento em Sistemas Críticos.

Sistemas Geoespaciais

EIC0094 - ECTS

Sistemas Industriais

EIC0075 - ECTS Dotar os alunos de conhecimentos relativos a:
- Modelo organizativo e respectiva organização hierárquica. Sistemas de Controlo e Supervisão Industrial.
- Arquitecturas para comando e controlo industrial incluindo requisitos associados aos diversos níveis.
- O produto industrial, técnicas e ferramentas associadas: projecto, prototipagem rápida, CAD/CAE/CAM/CNC/DFM, etc.
- Sistemas de supervisão e controlo distribuídos (SCADA)
- As principais tecnologias utilizadas em empresas fabris na zona da aquisição de dados e comunicação com o chão-de fábrica incluindo tecnologias associadas a Computação Industrial e Redes de Campo

Os alunos deverão ser capazes de:
- Projectar, modelar e implementar Sistemas de Controlo Industriais baseados em: Máquinas de Estados, Grafcet e Rede de Petri.
- Projectar e implementar sistemas SCADA
- Conhecer as Tecnologias e Arquitecturas de Redes e Sistemas de Controlo e Supervisão Industrial.

Tecnologias de Bases de Dados

EIC0076 - ECTS Habilitar os alunos a desenvolver e administrar grandes bases de dados, nomeadamente a afinar o esquema físico, a optimizar interrogações SQL, a recuperar sistemas e a definir políticas de concorrência, bem como a tirar partido das extensões à manipulação de objectos e à tecnologia XML.

Tecnologias de Distribuição e Integração

EIC0077 - ECTS Os objectivos principais da unidade curricular visam a aquisição de conhecimento e prática dos conceitos essenciais do projecto, arquitectura, escolha de tecnologias apropriadas e implementação de aplicações distribuídas empresariais.
Os estudantes, no final desta unidade curricular, deverão ser capazes de, dada uma descrição de um processo de negócio com alguma complexidade:
- estabelecer uma arquitectura distribuída apropriada para um sistema que o suporte
- escolher as tecnologias mais apropriadas, tendo em vista o cenário da aplicação
- desenvolver e realizar aplicações e serviços nas principais tecnologias
- integrar serviços e aplicações disponíveis, mesmo quando realizados em diferentes tecnologias

Tecnologias para Negócio Electrónico

EIC0078 - ECTS 1. Compreensão do interesse e oportunidade de Negócio Electrónico
2. Explicitar Modelos de Negócio Electrónico
3. Apresentar Tecnologias de Suporte ao Negócio Electrónico

No final da unidade curricular, os estudantes deverão ter competência para:
- entender e modelar um processo de negócio simples
- usar tecnologias inteligentes de suporte ao negócio relativas à negociação, contratação e confiança computacional.

Análise de Projectos de Investimento

EIC0044 - ECTS O objectivo desta disciplina é dotar os alunos do conhecimento das metodologias base para a análise da viabilidade económica e financeira de projectos de investimento em condições de certeza e de incerteza.

Pretende-se que no final do curso os alunos estejam aptos a :
1- Fundamentar a tomada de decisões de Investimentos Reais nas empresas.
2- Elaborar um Plano de Negócios

Nota. o Plano de Negócios será elaborado com base na legislação portuguesa aplicável

Armazéns de Dados

EIC0046 - ECTS Dotar os alunos da capacidade de projectar, implementar e explorar armazéns de dados (data warehouses).

Arquitectura e Gestão de Redes e Sistemas

EIC0095 - ECTS Como objectivo desta unidade curricular os estudantes deverão adquirir competências no planeamento e gestão integrada de infra-estruturas de rede e sistemas.

O resultado da aprendizagem deverá permitir aos estudantes ter competência nos procedimentos de gestão de uma infra-estrutura de rede, sistemas e serviços de comunicações:
- Especificar, como adquirir e avaliar os requisitos para o planeamento e desenho da infra-estrutura
- Planear e desenhar a infra-estrutura
- Fazer escolha criteriosa de equipamentos e sistemas de suporte, em função dos requisitos específicados
- Especificar áreas funcionais de gestão
- Seleccionar plataformas e ferramentas de gestão adequadas

Arquitecturas Avançadas de Computadores

EIC0049 - ECTS Esta unidade curricular introduz as principais arquitecturas de computadores actuais, explicitando as relações entre opções arquitectónicas, domínios de utilização e tecnologia de fabrico.

A análise das opções de implementação física e lógica dos diferentes subsistemas, associada à análise do respectivo impacto sobre o desempenho, permitirá aos estudantes descrever e avaliar criticamente computadores actuais e futuros, bem como perceber as implicações de cada tipo de arquitectura para o projecto e desenvolvimento de aplicações informáticas.

Após completar esta unidade curricular, os estudantes serão capazes de:
- identificar e estimar os factores de custo associados ao fabrico de processadores;
- avaliar o consumo de energia de um processador;
- identificar as condicionantes tecnológicas actuais;
- descrever as tendências de desenvolvimento da tecnologia de fabrico
- usar um conjunto de "benchmarks" para avaliar o desempenho;
- avaliar quantitativamente os principais factores de desempenho de um CPU;
- identificar os tipos de dependências existentes entre as instruções de um programa;
- explicar os principais mecanismos, tanto estáticos como dinâmicos, de extracção de paralelismo de programas sequenciais;
- identificar as limitações dessas abordagens;
- descrever as técnicas básicas de escalonamento dinâmico de instruções;
- reconhecer a importância da previsão de saltos;
- avaliar quantitativamente o impacto da previsão de saltos para o desempenho;
- descrever os aspectos mais salientas da emissão simultânea de múltiplas instruções;
- descrever os mecanismos de apoio à execução de instruções fora de ordem;
- usar ferramentas de medida baseadas em contadores de eventos de hardware;
- explicar a organização de sistemas multi-processadores de memória partilhada (SMP);
- especificar e analisar protocolos de acesso a memória partilhada (centralizada e distribuída);
- usar ferramentas de simulação para investigar o comportamento de sistemas de memória partilhada;
- descrever os mecanismos de sincronização de processadores;
- explicar o problema da consistência de memória partilhada e as principais soluções;
- descrever a hierarquia de memória de um computador;
- avaliar quantitativamente o desempenho da hierarquia de memória;
- identificar e descrever métodos de optimização de memórias cache;
- descrever e avaliar o impacto da tecnologia de circuitos de memória;
- distinguir diversos domínios de aplicação de computadores;
- explicar o impacto do domínio de aplicação sobre a arquitectura do sistema em três casos: sistemas embarcados (consolas de jogos, telemóveis, câmaras fotográficas), processamento vectorial de dados (cálculo científico), criação de gráficos (GPU).

Computação Móvel

EIC0050 - ECTS Os objectivos principais da unidade curricular visam a aquisição de conhecimento e prática dos conceitos essenciais do projecto, arquitectura e implementação de aplicações, principalmente empresariais, em dispositivos móveis, utilizando APIs de grande divulgação corrente.

Os estudantes, no final desta unidade curricular, deverão ser capazes de, dada uma especificação de requisitos para aplicações disponíveis 'em qualquer altura e em qualquer lugar':
- escolher uma plataforma móvel, padrão da aplicação, 'framework' de programação, adequação às características dos dispositivos e necessidades de armazenamento e comunicação;
- escolher as tecnologias mais apropriadas, tendo em vista o cenário da aplicação;
- desenvolver e realizar aplicações e serviços locais e remotos necessários, nas principais tecnologias;
- integrar serviços e aplicações disponíveis, mesmo quando realizados em diferentes tecnologias.

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

EIC0108 - ECTS A unidade curricular "Descrição, Armazenamento e Pesquisa de Informação" tem como contexto a existência de grandes repositórios de informação de natureza muito diversa e os requisitos para a sua organização, descrição, armazenamento e pesquisa.

Objectivos

1. Sensibilizar os estudantes para os problemas do armazenamento e organização de grandes colecções de dados.
2. Familiarizar os estudantes com os conceitos principais na pesquisa de documentos textuais, e da sua aplicação em ferramentas.
3. Explorar os métodos e ferramentas para a descrição de recursos na web e para o uso da descrição em aplicações que fazem uso do significado dos dados.

Resultados de Aprendizagem e Competências
No final desta unidade curricular o estudante deverá ser capaz de:

-Identificar os usos das linguagens de anotação em documentos, em repositórios de dados e no suporte a aplicações;
-Analisar um documento XML e verificar a sua conformidade a um modelo;
-Criar modelos para documentos XML;
-Interpretar os resultados do processamento de documentos com as tecnologias baseadas em XML;

-Comparar a organização de dados em modelo de anotação e outros e explorar a migração de dados entre modelos;
-Produzir um modelo de anotação para dados para um domínio de aplicação e escolher um modo de armazenamento apropriado para os mesmos;

-Descrever os modelos usados na recuperação de informação, e em particular na recuperação na web;
-Reconhecer as diversas tarefas que são consideradas na recuperação de informação;
-Aplicar as medidas de avaliação da recuperação de informação à comparação de ferramentas de pesquisa na web;

-Relacionar os documentos na web com a meta-informação que os descreve e relaciona;
-Tratar as ontologias como fornecedoras de ferramentas de descrição;
-Explorar as aplicações que manipulam descrições de informação na web semântica e criar conjuntos de metadados para um domínio;
-Comparar serviços baseados na web semântica e outras abordagens mais simples para a descrição de recursos.

Dissertação

EIC0041 - ECTS Nos termos do estipulado em normas específicas da FEUP, a caracterização de Dissertação é a seguinte:
1. Trabalho individual de investigação e desenvolvimento, conducente à elaboração de uma dissertação de natureza científica sobre um tema da área de conhecimento do curso, ou visando a integração e aplicação à resolução de problemas complexos de engenharia de conhecimentos, competências e atitudes adquiridos ao longo do curso.
2. Pode ser um trabalho de investigação ou de desenvolvimento tecnológico e aplicação, envolvendo meios experimentais e/ou de simulação, que promova o desenvolvimento de capacidades de iniciativa, de decisão, de inovação, de pensamento criativo e crítico, num contexto de trabalho individual ou em grupo.
3. Deve envolver a análise de situações novas, a recolha de informação pertinente, o desenvolvimento e selecção ou concepção das metodologias de abordagem e dos instrumentos de resolução do problema proposto, a sua resolução, o exercício de sín-tese e elaboração de conclusões, e a preparação de uma dissertação pertinente sujeita a apresentação pública e discussão dos resultados.
4. Pode ser realizado em ambiente académico ou académico e empresarial. Neste caso os objectivos, natureza e forma de acompanhamento do trabalho devem ser objecto de acordo prévio entre o estudante e os orientadores por parte da Faculdade e da empresa, validado pelo Director do Curso, que garanta a satisfação dos objectivos de natureza científica e pedagógica da unidade curricular, e proteja eventuais questões de confidencialidade por parte da empresa/instituição de acolhimento.

Extracção de Conhecimento e Aprendizagem Computacional

EIC0096 - ECTS O objectivo da disciplina é o de dotar os alunos de conhecimentos que os tornem capazes de utilizar técnicas de análise automática de grandes quantidades de dados.

Interacção Pessoa-Computador

EIC0057 - ECTS OBJECTIVO GERAL
O principal objectivo da disciplina é o de preparar os estudantes para analisarem e projectarem as componentes interactivas dos sistemas, em particular da interface com os utilizadores, de uma forma adequada às suas necessidades, considerando o curto, médio e longo prazo.

OBJECTIVOS PARTICULARES
1. Preparar os estudantes para analisarem sistemas interactivos, em termos de um conjunto de parâmetros quantitativos e qualitativos.

2. Preparar os estudantes para utilizarem técnicas de estudo, observação e interrogação de utilizadores suportadas na compreensão do modelo conceptual dos utilizadores de sistemas.

3. Preparar os alunos para utilizarem um processo de construção de produtos interactivos baseado numa filosofia de projecto, incluindo a avaliação dos utilizadores, concepção, prototipagem, validação, construção e manutenção.

Metodologias Ágeis de Desenvolvimento de Software

EIC0062 - ECTS No final da unidade curricular, o estudante devem:

- ter desenvolvido as capacidades mínimas e adquido os conhecimentos fundamentais necessários para autonomamente iniciar desenvolvimento ágil de software, nos seus vários papeis: engenharia de processo, desenvolvedor, gestor.

- ter aprendido o essencial sobre métodos ágeis, a sua filosofia, os valores, a sua necessidade e aplicabilidade, e os desafios e oportunidades que suscitam nas pessoas e organizações que desenvolvem software.

- ter adquirido conhecimentos e experiência prática sobre as práticas de desenvolvimento ágil de software: planeamento de iterações, testes unitários, refactoring, pattern-based design, autoria colectiva de código, programação em pares, integração contínua.

- conhecer algumas das variantes mais conhecidas de processos ágeis.

- ter adquirido conhecimentos primordialmente através da sua aplicação prática num caso de estudo real a desenvolver ao longo do semestre.

- ter aprendido a trabalhar em equipa, a integrar outros intervenientes do projecto em decisões de desenho e planeamento, e a delegar, negociar e rever estas decisões em grupo.

- ter utilizado ambientes de desenvolvimento integrado (IDE) que suportem e incentivem o desenvolvimento ágil de software: Eclipse, VisualStudio, etc.

Planeamento Estratégico de Sistemas de Informação

EIC0067 - ECTS Objectivos

Dotar os alunos com competências para planear sistemas e tecnologias de informação numa organização segundo uma perspectiva estratégica.


Resultados de aprendizagem

estratégia e sistemas de informação

• identificar os desafios colocados pelos sistemas de informação e soluções de gestão associadas
• demonstrar como os sistemas de informação podem apoiar diferentes formas de estratégia
• enunciar e avaliar as questões estratégicas a serem consideradas no desenvolvimento de sistemas de informação
• demonstrar como os sistemas de informação ajudam as empresas a usar sinergias, competências chave, e estratégias baseadas em rede para conseguir vantagens competitivas
• avaliar os desafios colocados pelos sistemas de informação estratégicos associados a soluções inovadoras de gestão
• descrever uma perspectiva histórica dos SI nas organizações usando o modelo de Nolan
• descrever factores críticos de sucesso nos SIS e consequências da falta de estratégia de SI/TI
• descrever a envolvente estratégica dos SI/TI usando o modelo de Earl
• descrever e aplicar o modelo do ciclo de desenvolvimento estratégico de SI
• descrever e aplicar o modelo para o desenvolvimento estratégico de SI

análise estratégica para SI

• definir estratégia do negócio, estratégia de SI, estratégia de TI, alinhamento estratégico
• distinguir planeamento de SI e planeamento estratégico de SI
• saber como avaliar o impacto estratégico dos sistemas de informação nas organizações
• enunciar as principais abordagens ao planeamento estratégico e a sua aplicação em PESI
• enunciar razões para o fosso existente entre a teoria e a prática em PESI

estratégias de gestão de informação e conhecimento

• explicar os conceitos de gestão da informação, gestão do conhecimento, colaboração, partilha de informação e conhecimento
• identificar os tipos de cultura informacional e descrever a sua influência na definição de estratégias de informação e conhecimento nas organizações
• explicar a relação estreita entre colaboração e gestão da informação nas organizações actuais
• explicar a emergência das redes colaborativas de organizações como estratégia de negócio suportada por SI
• analisar uma situação organizacional e especificar uma estratégia de colaboração e gestão de informação


Preparação da Dissertação

EIC0087 - ECTS Assimilação dos processos, metodologias e práticas associados à investigação científica, com particular relevância em engenharia informática.
Desenvolvimento do espírito de crítica científica.
Demonstração da capacidade de elaborar e de apresentar um plano de um projecto de dissertação, incluindo o respectivo estado da arte, em tema a seleccionar.

Realidade Virtual e Aumentada

EIC0070 - ECTS Realidade Aumentada é uma tecnologia através da qual se pretende melhorar ou aumentar a visão que um utilizador tem do mundo real com imagens virtuais, usando técnicas de Visão por Computador e de Computação Gráfica/Realidade Virtual. O principal objectivo desta disciplina é transmitir aos alunos um conjunto de conhecimentos básicos destas técnicas, que lhes permitam prosseguir estudos mais avançados na área emergente da Realidade Aumentada, e a capacidade de realizar pequenos trabalhos ilustrativos das metodologias estudadas.
No final, os alunos deverão ser capazes de:
- identificar e caracterizar os componentes, a estrutura e as funções de um sistema mínimo de realidade virtual e/ou aumentada;
- descrever os algoritmos principais usados na implementação de cada um dos componentes;
- descrever como interagem os diversos componentes;
- realizar a integração entre imagens do mundo real e imagens de objectos virtuais;
- desenvolver aplicações de Realidade Aumentada, recorrendo a uma biblioteca disponível (ARToolkit).

Robótica

EIC0071 - ECTS OBJECTIVOS

Compreender os conceitos básicos de Robótica e o enquadramento da Inteligência Artificial na Robótica.
Estudar métodos de percepção e interpretação sensorial (com ênfase na visão por computador) que permitam criar estados do mundo precisos e métodos de controlo de robôs móveis.
Estudar os métodos que permitam a robôs móveis navegarem em ambientes conhecidos ou desconhecidos usando algoritmos de Planeamento e Navegação.
Estudar os fundamentos da robótica cooperativa e da construção de equipas de robôs.
Analisar as principais competições robóticas nacionais e internacionais, os simuladores robóticos mais realistas e as plataformas robóticas mais avançadas disponíveis no mercado.



RESULTADOS

Espera-se que, no final da UC, os estudantes sejam capazes de:
- Definir Autonomia em Sistemas Robóticos
- Definir Sistemas Robóticos Inteligentes
- Explicar o enquadramento da Inteligência Artificial em Sistemas Robóticos Inteligentes
- Identificar as aplicações de clássicas em Robótica
- Conhecer o Estado da Arte em Sistemas Robóticos Inteligentes
- Conhecer sensores (ênfase em sistemas de visão) e actuadores
- Aplicar métodos de fusão sensorial, métodos do âmbito da Inteligência Artificial e métodos de processamento de sinal e de visão para construir percepções do Mundo
- Aplicar métodos de localização, planeamento e navegação em robótica
- Conhecer e utilizar uma ou mais plataformas robóticas e/ou de simulação robótica

Segurança em Sistemas Informáticos

EIC0072 - ECTS No final desta unidade curricular, os estudantes deverão ser capazes de:
- descrever os conceitos fundamentais da segurança de sistemas informáticos;
- especificar uma política de segurança para um sistema típico e saber seleccionar os mecanismos adequados à sua implementação e controlo de cumprimento;
- analisar um canal de comunicação típico e identificar os principais níveis de protecção que lhe estão associados ou de que carece;
- estudar, programar e operar alguns dispositivos ou técnicas de segurança em situações reais.

Seminário de Sistemas Inteligentes, Interacção e Multimédia

EIC0101 - ECTS Objectivo:
Tomar conhecimento e discutir sobre trabalhos de investigação em curso nas áreas dos Sistemas Inteligentes.

Competências:
Mostrar conhecimento em pelo menos um dos tópicos apresentados, através da realização de um artigo sobre o Estado da Arte ou um pequeno projecto demonstrativo.

Os trabalhos produzidos (artigo e/ou demonstração) devem permitir ilustrar sistemas caracterizados por alguma componente "inteligente" relacionada com adaptação, autonomia, classificação ou inferência.
A compreensão sobre o que pode dar a um sistema computcional um certo grau de "inteligência", será o principal resultado esperado da frequência desta disciplina.

Sistemas de Apoio à Decisão

EIC0074 - ECTS Serão estudadas a filosofia geral, a estrutura e os componentes de um Sistema de Apoio à Decisão (SAD), bem como metodologias e técnicas que permitam aos estudantes projectar e implementar SADs.

Os estudantes deverão ser capazes de compreender a complexidade e os aspectos qualitativos dos processos de tomada de decisão, e de utilizar técnicas de estruturação de problemas e de abordagens multi-critério. Com o recurso a folhas de cálculo, deverão ser capazes de realizar análises e modelação de dados, bem como proceder à avaliação de cenários.

Deverão ainda familiarizar-se com modelos e aplicações de Optimização Combinatória, e de técnicas heurísticas genéricas para resolver problemas de interesse prático, em particular no âmbito da gestão de operações.

Serão apresentados e discutidos exemplos de SADs, dando-se especial relevo aos aspectos relacionados com as Interfaces com os Utilizadores e com os Sistemas de Simulação Visual Interactiva.

Teste e Qualidade de Software

EIC0103 - ECTS Familiarização com a terminologia usada em teste de software.
Conhecer e saber aplicar as técnicas principais de teste para controlo de qualidade de software.

Dissertação

EIC0041 - ECTS Nos termos do estipulado em normas específicas da FEUP, a caracterização de Dissertação é a seguinte:
1. Trabalho individual de investigação e desenvolvimento, conducente à elaboração de uma dissertação de natureza científica sobre um tema da área de conhecimento do curso, ou visando a integração e aplicação à resolução de problemas complexos de engenharia de conhecimentos, competências e atitudes adquiridos ao longo do curso.
2. Pode ser um trabalho de investigação ou de desenvolvimento tecnológico e aplicação, envolvendo meios experimentais e/ou de simulação, que promova o desenvolvimento de capacidades de iniciativa, de decisão, de inovação, de pensamento criativo e crítico, num contexto de trabalho individual ou em grupo.
3. Deve envolver a análise de situações novas, a recolha de informação pertinente, o desenvolvimento e selecção ou concepção das metodologias de abordagem e dos instrumentos de resolução do problema proposto, a sua resolução, o exercício de sín-tese e elaboração de conclusões, e a preparação de uma dissertação pertinente sujeita a apresentação pública e discussão dos resultados.
4. Pode ser realizado em ambiente académico ou académico e empresarial. Neste caso os objectivos, natureza e forma de acompanhamento do trabalho devem ser objecto de acordo prévio entre o estudante e os orientadores por parte da Faculdade e da empresa, validado pelo Director do Curso, que garanta a satisfação dos objectivos de natureza científica e pedagógica da unidade curricular, e proteja eventuais questões de confidencialidade por parte da empresa/instituição de acolhimento.

Preparação da Dissertação

EIC0087 - ECTS Assimilação dos processos, metodologias e práticas associados à investigação científica, com particular relevância em engenharia informática.
Desenvolvimento do espírito de crítica científica.
Demonstração da capacidade de elaborar e de apresentar um plano de um projecto de dissertação, incluindo o respectivo estado da arte, em tema a seleccionar.

Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Última actualização: 2012-12-06 I  Página gerada em: 2025-06-15 às 12:17:42 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias