Código Oficial: | L224 |
Sigla: | L.EIC |
2018 | 2019 | 2020 | 2021 | 2022 |
---|---|---|---|---|
- | - | - | 172,5 | 173,8 |
Regime | Fase | Nº Clausus / Vagas |
---|---|---|
Regime Geral | 1 | 284 |
Esta unidade tem dois objetivos fundamentais: por um lado, tratando-se de uma disciplina propedêutica tem um carácter didático/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.
Aquisição de conhecimentos teóricos e práticos sobre cálculo diferencial e integral em R 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 da Engenharia Informática e Computação. Capacitar o estudante para a inovação, complementando os conhecimentos de forma a desenvolver soluções para resolução de novas questões. No final da disciplina, os estudantes devem possuir as seguintes competências: 1. Saber derivar funções, desenhar gráficos e estudar funções 2. Saber integrar e utilizar os integrais em aplicações de engenharia 3. Conhecer técnicas de integração e de resolução de equações diferenciais 4. Relacionar séries e polinómios e perceber os conceitos de aproximação.
INTRODUÇÃO
A fluência no processo de desenvolvimento de software é um pré-requisito essencial para o trabalho de Engenheiros Informáticos. Para usar computadores na resolução eficaz de problemas, os estudantes devem ser competentes em ler e escrever programas usando linguagens de programação de alto nível.
OBJETIVOS ESPECÍFICOS
O objetivo global desta Unidade é dar ao estudante a capacidade de criar algoritmos e de usar uma linguagem de programação para implementar, testar e depurar algoritmos para resolver problemas simples.
O estudante será capaz de entender e usar os conceitos fundamentais de programação e a abordagem funcional da programação, especificamente a programação "livre de efeitos", onde as chamadas de função não têm efeitos colaterais e as variáveis são imutáveis, e de contrastar esta abordagem com a abordagem imperativa.
DISTRIBUIÇÃO PERCENTUAL
Componente científica 40%
Componente tecnológica: 60%
Esta unidade curricular introduz os princípios de funcionamento de um processador moderno e a sua arquitetura geral. 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 estudantes identificar e descrever princípios fundamentais da operação dos computadores, das linguagens de programação e do desenvolvimento de ‘software’.
Enquadramento
A Lógica constitui a base de qualquer raciocínio científico e essa é a razão primeira da sua inclusão no 1º ano do curso. Para além disso, no caso da Engenharia Informática, a Lógica tem um interesse direto operacional em múltiplas dimensões da profissão.
Objetivos específicos
Os objetivos são o desenvolvimento de competências de raciocínio rigoroso e de técnicas de matemática discreta necessárias em várias áreas da informática, como a resolução de problemas, a criação e análise de algoritmos, a teoria da computação, a representação de conhecimento e a segurança.
Distribuição percentual
Componente científica: 100%
Componente tecnológica: 0%.
1- ENQUADRAMENTO (BACKGROUND) A unidade curricular tem dois objetivos fundamentais: por um lado, tratando-se de uma unidade curricular propedêutica tem um carácter didático/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 restantes unidades curriculares.
2- OBJETIVOS ESPECÍFICOS (SPECIFIC AIMS) Adquirir conhecimentos teóricos e práticos, essenciais, sobre o cálculo diferencial e integral de funções reais e vetoriais de uma ou várias variáveis, bem como sobre algumas das suas aplicações.
3- CONHECIMENTO PRÉVIO (PREVIOUS KNOWLEDGE) São considerados essenciais para a frequência desta unidade curricular os conhecimentos relativos ao cálculo diferencial e integral, adquiridos na Unidade Curricular Análise Matemática I, e os relativos à álgebra vetorial e à geometria analítica, adquiridos na Unidade Curricular Álgebra, ambas lecionadas no 1º Ano, 1º Semestre da L.EIC.
4- RESULTADOS DA APRENDIZAGEM (LEARNING OUTCOMES) No fim do período lectivo os estudantes devem ser capazes de: 1. Usar representações paramétricas de curvas em Rn e obter o seu vector tangente e normal; calcular integrais de linha ao longo dessas curvas. 2. Discutir a continuidade de funções escalares de várias variáveis. 3. Obter derivadas parciais e direccionais para campos escalares e campos vectoriais e saber. construir o vector gradiente. 4. Calcular derivadas de funções compostas, de campos escalares e vectoriais, bem como de funções definidas implicitamente. 5. Calcular integrais de linha e de superfície.
ENQUADRAMENTO
A arquitetura de um computador reflete o avanço tecnológico atual, mas também estabelece os limites das suas capacidades e do seu desempenho. Variantes do conjunto de instruções ARM são usadas na grande maioria das plataformas móveis (tablete, telemóveis) atuais. Tanto a arquitetura do sistema como o conjunto de instruções têm um impacto profundo na prática diária dos engenheiros informáticos.
OBJETIVOS ESPECÍFICOS
A unidade curricular "Arquitetura de Computadores" tem por objetivo desenvolver, combinar e aplicar de forma integrada conceitos das áreas de Arquitetura de Computadores e de Linguagens de Programação. Assim, a unidade curricular explora as relações entre o conjunto de instruções e a programação de baixo nível (linguagem "assembly"). Os mecanismos de apoio à execução eficiente de programas, como encadeamento de instruções e predição de saltos, também serão tratados. Reconhecendo que a arquitetura de computadores vai muito para além da arquitetura do CPU, a unidade curricular abordará também os subsistemas de memória, armazenamento e periféricos. Após a conclusão com sucesso desta unidade curricular, o estudante terá adquirido a capacidade de identificar e descrever a arquitetura das plataformas computacionais em uso atualmente, bem como a capacidade de aplicar as técnicas de programação "assembly" na implementação de algoritmos.
DISTRIBUIÇÃO PERCENTUAL
O objetivo desta unidade curricular é dotar os estudantes com conhecimentos fundamentais sobre a programação imperativa e orientada a objetos em C/C++.
Preparar os estudantes em tópicos relacionados com modelos da computação e sobre as classes de linguagens formais associadas.
Munir os estudantes dos conhecimentos necessários que lhes permitam utilizar corretamente linguagens regulares, expressões regulares, autómatos finitos determinísticos e não-determinísticos, linguagens e gramáticas independentes de contexto, autómatos de pilha, e Máquinas de Turing.
Capacitar os estudantes para que estes sejam capazes de expressar problemas computacionais usando linguagens formais, autómatos e máquinas de Turing.
Capacitar os estudantes de métodos para formalizar problemas computacionais relacionados com linguagens formais.
No final da unidade curricular, os estudantes deverão ser capazes de:
ENQUADRAMENTO
Sistemas de Informação (SI) é uma área fundamental em engenharia informática. Bases de dados são repositórios de dados necessários em qualquer SI. A unidade curricular de bases de dados é uma unidade chave na área de SI. O objetivo principal desta unidade curricular é preparar os alunos para projetar e desenvolver sistemas de bases de dados que atendam às necessidades dos utilizadores de acordo com os objetivos de gestão organizacionais.
OBJETIVOS ESPECÍFICOS
Este é um curso introdutório sobre bases de dados. Aborda o paradigma relacional. Abrange o desenho (modelo UML e normalização relacional), construção (linguagem de definição de dados SQL), consulta (linguagem de manipulação de dados SQL) e gestão (organização física e optimização de SQL) de bases de dados relacionais.
DISTRIBUIÇÃO PERCENTUAL
Componente científica: 50%
Componente tecnológica: 50%
Atualmente o processamento, armazenamento e transmissão de informação são feitos usando fenômenos eletromagnéticos. Consequentemente, a formação de base de um engenheiro informático deve incluir o estudo da eletricidade, do magnetismo e dos circuitos elétricos
Esta unidade curricular visa dotar os estudantes com conhecimentos básicos de eletromagnetismo e processamento de sinais. A abordagem é experimental, com recurso a experiências simples que os estudantes podem realizar durante as aulas teórico-práticas para consolidar os conhecimentos teóricos e adquirir experiência no uso dos instrumentos de medição. O Sistema de Computação Algébrica (CAS) usado na unidade curricular Física 1 é também aproveitado para facilitar a resolução de problemas e para visualizar campos elétricos e magnéticos.
Nesta formação em competências transversais procura-se que os estudantes adquiram competências na utilização de Folhas de Cálculo, em particular o MS Excel, para a resolução de problemas de gestão e análise de grandes volumes de dados, nomeadamente utilizando séries de dados disponíveis na Pordata, no INE e outros.
Procura-se que os estudantes adquiram competências transversais na resolução de problemas de gestão e análise de dados com recurso à linguagem Python e às suas bibliotecas, nomeadamente utilizando séries de dados disponíveis na Pordata e no INE.
A introdução à Robótica tem como objetivo permitir o desenvolvimento de competências de desenvolvimento e integração de diversos conhecimentos de uma forma muito atrativa e baseada em trabalhos práticos com equipamento real. A compreensão do princípio de funcionamento de diversos sensores e atuadores e a sua aplicação em sistemas reais, alargará a compreensão e a atratividade da Física e da Matemática.
A introdução às linguagens de programação é algo relevante em qualquer curso de engenharia, tecnologias e ciências exatas. Os estudantes, ao adquirirem competências básicas de programação aplicada à robótica, aumentarão o seu potencial de desenvolver aplicações que envolvam hardware e software/firmware; sendo assim que esta formação em CT é transversal a várias áreas de estudo.
É também objetivo desta formação em CT promover o desenvolvimento de soft skills. Assim, será através do trabalho em grupo a desenvolver sobre a matéria lecionar e para aplicação das aprendizagens que os estudantes terão oportunidade de desenvolver soft-skills como a capacidade de trabalhar em equipa e desenvolver vários papeis, a cooperação entre os membros da mesma.
A avaliação irá permitir aos estudantes desenvolver soft-skills nas áreas de elaboração de relatórios científicos e de comunicação/apresentações orais com a defesa de ideias e argumentação.
Pretende-se, nesta unidade curricular, que os alunos desenvolvam competências no desenho de aplicações usando o paradigma orientado a objetos. Pretende-se que os estudantes que obtenham aprovação à unidade curricular, consigam:
Os objetivos principais desta unidade curricular são fornecer os conhecimentos fundamentais sobre:
O1- a estrutura e o funcionamento de um sistema operativo genérico;
O2- a utilização da interface de programação (API) de um sistema operativo real.
Esta unidade curricular visa complementar e aprofundar os conhecimentos de implementação e concepção de algoritmos assimilados na unidade curricular de Algoritmos e Estruturas de Dados (AED), pela introdução de técnicas de concepção de algoritmos para a resolução de diferentes tipos de problemas, dado particular relevo a técnicas estruturantes como “brute-force”, “backtracking”, “divide-and-conquer”, “greedy” e “dynamic programming” ubíquas em algoritmos avançados na vida real. Pretende-se igualmente, introduzir os conceitos de problemas de grande complexidade formalizados nos conceitos de hierarquia de complexidade polinomial determinística e não-deterministica, e respectiva técnica de redução polinomial entre problemas e sua abordagem na práctica com o uso de algoritmos de aproximação. Finalmente, esta unidade curricular aborda ainda as técnicas algorítmicas de optimização de problemas usando a formalização de programação linear inteira ou real.
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.
1- Enquadramento
Os dispositivos periféricos são uma parte fundamental dum computador, sem a qual a utilidade ou a facilidade de uso dos computadores seriam significativamente inferiores. A importância destes dispositivos em sistemas baseados em computadores tem crescido desde os primórdios dos computadores (cerca de 1950) e continua com a difusão cada vez maior de sistemas embebidos. Contudo, a programação dos dispositivos periféricos usando a sua interface programática, i.e. a interface de "hardware", requer conhecimentos e técnicas específicas.
2- Objetivos Específicos
Os objetivos da unidade curricular são dotar os estudantes com conhecimentos essenciais para serem capazes de:
3- Distribuição Percentual
Científica: 30%
Tecnológica: 70%
Pretende-se, nesta unidade curricular, que os alunos desenvolvam competências nas linguagens e tecnologias WEB mais significativas, no contexto tecnológico atual, ou que foram determinantes no processo evolutivo da WEB.
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.
Os principais objetivos a atingir pelos estudantes são contactar com, praticar e experimentar, no contexto de software e sistemas interativos, os seguintes tópicos:
Nesta formação em competências transversais procura-se que os estudantes adquiram competências na utilização de Folhas de Cálculo, em particular o MS Excel, para a resolução de problemas de gestão e análise de grandes volumes de dados, nomeadamente utilizando séries de dados disponíveis na Pordata, no INE e outros.
Procura-se que os estudantes adquiram competências transversais na resolução de problemas de gestão e análise de dados com recurso à linguagem Python e às suas bibliotecas, nomeadamente utilizando séries de dados disponíveis na Pordata e no INE.
A introdução à Robótica tem como objetivo permitir o desenvolvimento de competências de desenvolvimento e integração de diversos conhecimentos de uma forma muito atrativa e baseada em trabalhos práticos com equipamento real. A compreensão do princípio de funcionamento de diversos sensores e atuadores e a sua aplicação em sistemas reais, alargará a compreensão e a atratividade da Física e da Matemática.
A introdução às linguagens de programação é algo relevante em qualquer curso de engenharia, tecnologias e ciências exatas. Os estudantes, ao adquirirem competências básicas de programação aplicada à robótica, aumentarão o seu potencial de desenvolver aplicações que envolvam hardware e software/firmware; sendo assim que esta formação em CT é transversal a várias áreas de estudo.
É também objetivo desta formação em CT promover o desenvolvimento de soft skills. Assim, será através do trabalho em grupo a desenvolver sobre a matéria lecionar e para aplicação das aprendizagens que os estudantes terão oportunidade de desenvolver soft-skills como a capacidade de trabalhar em equipa e desenvolver vários papeis, a cooperação entre os membros da mesma.
A avaliação irá permitir aos estudantes desenvolver soft-skills nas áreas de elaboração de relatórios científicos e de comunicação/apresentações orais com a defesa de ideias e argumentação.
A unidade curricular de LBAW tem como objetivo sedimentar as matérias expostas nas unidades curriculares de bases de dados e linguagens e tecnologias web. Esta unidade curricular oferece uma perspetiva prática sobre duas áreas centrais da engenharia informática.
Nesta unidade curricular pretende-se dotar os estudantes da capacidade de projetar e desenvolver sistemas de informação acessíveis através da web e suportados por sistemas de gestão de bases de dados.
Os paradigmas de Programação Funcional e de Programação em Lógica apresentam abordagens declarativas e baseadas em processos formais de raciocínio à programação, mais apropriada para a resolução de alguns tipos de problemas.
Objetivos: Adquirir familiaridade com os paradigmas da Programação Funcional e da Programação em Lógica. Desenvolver as capacidades de raciocínio abstracto e de representação de problemas de forma declarativa.
Redes de Computadores (RCOM) é a unidade curricular que introduz os estudantes no domínio de conhecimento das redes de comunicações. Os conceitos fundamentais endereçados em RCOM incluem os seguintes: canais de comunicação e controlo da ligação de dados, modelos de erro e atraso, comunicações multi-acesso, encaminhamento, controlo de fluxo e controlo de congestionamento. As principais tecnologias discutidas em RCOM são a Ethernet comutada, a Wireless LAN 802.11, a Internet e a pilha de comunicações TCP/IP. As implementações e projetos a desenvolver em RCOM incluem um protocolo de ligação de dados com controlo de fluxo, uma aplicação a funcionar em modo cliente, e a configuração e teste de redes Ethernet e IP.
Fornecer os conceitos que permitam:
ENQUADRAMENTO: A computação Gráfica tem vindo a afirmar-se e é hoje um componente muito importante em toda a envolvente de interação pessoa-computador. No entanto, a sua aplicabilidade vai muito além, tendo hoje em dia uma posição de relevo em indústrias importantes como sejam a cinematográfica e a dos jogos. Também na tecnologia e na ciência desempenha um papel insubstituível permitindo a visualização de fenómenos, muitas vezes ligada a simulação e a técnicas de realidade virtual. Nesta unidade curricular, efetua-se uma abordagem às matérias de Computação Gráfica segundo 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 em tecnologias de grande utilização, o OpenGL e o WebGL.
OBJETIVOS ESPECÍFICOS: - Transmitir o conhecimento de conceitos, técnicas, algoritmos, tecnologias e arquitecturas de Computação Gráfica. - Reforçar os conhecimentos teóricos com a sua aplicação prática, por meio da implementação, teste e avaliação de algoritmos abordados em teoria.
DISTRIBUIÇÃO PERCENTUAL
- Componente científica: 50%
- Componente tecnológica: 50%
Dotar os estudantes com:
Esta unidade curricular apresenta um conjunto de assuntos nucleares para a área da Inteligência Artificial (IA) e dos Sistemas Inteligentes. Os objetivos principais são:
1. Compreender os fundamentos da Inteligência Artificial e dos Sistemas Inteligentes, o que os caracteriza e distingue e qual a sua aplicabilidade.
2. Ser capaz de projetar e implementar Agentes e Sistemas Multi-Agente para resolver diferentes problemas.
3. Aprender métodos e algoritmos heurísticos e sistemáticos de resolução de problemas, com e sem adversários e algoritmos de otimização.
4. Aprender métodos de aquisição, representação e manipulação do Conhecimento impreciso utilizando diferentes formalismos.
5. Compreender as bases do processamento da linguagem natural e suas aplicações.
6. Conhecer e ser capaz de aplicar algoritmos de aprendizagem com diferentes paradigmas (supervisionada, não supervisionada, por reforço, evolucionária, em profundidade) e algoritmos (árvores de decisão, redes neuronais, SVMs).
7. Conhecer tópicos avançados em IA e ser capaz de formular uma visão sobre o futuro da IA.
8. Desenvolver projetos simples, mas completos, usando técnicas de IA.
Distribuição Percentual: Componente científica: 50%; Componente tecnológica: 50%
Esta unidade curricular pretende expor os estudantes a um projeto de Engenharia Informática em ambiente real, aplicando conhecimentos e competências adquiridas ao longo do curso.
A metodologia de ensino com base num projeto permite que os estudantes, não só adquiram e pratiquem os conceitos abordados num ambiente real, mas igualmente desenvolvam o espirito de colaboração, cooperação e trabalho em equipa. O acompanhamento semanal da evolução dos projetos, quer presencial, quer através das ferramentas utilizadas para o efeito, permite uma aferição efetiva da evolução dos conhecimentos e competências adquiridas.
Através da metodologia de ensino baseado em projetos, é possível não só aplicar os conceitos já adquiridos, como também aprofundá-los através da prática e integração dos mesmos, com um acompanhamento e monitorização regulares por parte dos docentes.
Desta forma, adota-se uma filosofia pedagógica de "aprender, fazendo" que estimula a interiorização dos conhecimentos e expõe os estudantes aos problemas reais que surgem durante um projeto de engenharia informática. Através da demonstração pública dos resultados dos projetos, os estudantes são igualmente estimulados ao conceito de "produto" de software, apelando a uma componente inovadora e viabilizadora da possível atração de investidores interessados num produto real.
No caso de um estágio em ambiente industrial ou de um projeto I&D multidisciplinar, será garantido pelo corpo docente que o estudante será integrado num ambiente de trabalho que permita a persecução dos objetivos de aprendizagem.