Requisitos para disciplinas de Engenharia Informática

Esta listagem pode sofrer algumas alterações para o próximo ano académico. Pedimos a sua atenção para as mudanças que podem ocorrer com os programas, número de créditos e disponibilidade de semestre de cada um destes cursos.

1.º Ciclo (actualizado para o ano lectivo de 2020-2021)

1.º ano

– Sistemas de Informação

requisitos: é necessário conhecimento introdutório e muito básico sobre Ciências da Computação ou na área de Gestão. Outras especialidades terão dificuldade em contextualizar os conteúdos da disciplina.

– Electrónica Aplicada

requisitos: é necessário conhecimento sobre conceitos de matemática, leccionados em “Matemática I”, como resolver sistemas de equações lineares com matrizes, integrais simples, derivadas, equações diferenciais e números complexos; é também necessário conhecimento sobre conceitos de física relacionados com o electromagnetismo dados em “Física”, incluindo equações básicas de campo eléctrico e magnético. Outras especialidades não serão capazes de compreender o conteúdo da disciplina.

– Análise de Sistemas

requisitos: é necessário ter passado à disciplina de “Sistemas de Informação” (1º ciclo, 1º ano), e ter um bom conhecimento sobre Conceitos Fundamentais de Sistemas de Informação.

– Matemática II

requisitos: é necessário conhecimento sobre conceitos matemáticos leccionados em “Matemática I”, incluindo resolução de sistemas de equações lineares com matrizes, equações diferenciais, integração e derivadas.

2.º ano

– Sistemas Digitais

requisitos: é necessário ter passado à disciplina de “Electrónica Aplicada” (1º ciclo, 1º ano), e ter bons conhecimentos sobre métodos de análise de circuitos electrónicos, bem como capacidades práticas de electrónica para usar no laboratório. Sem estes conhecimentos, será muito difícil compreender o conteúdo da disciplina.

– Arquitectura de Computadores

requisitos: é necessário ter passado às disciplinas de “Electrónica Aplicada” (1º ciclo, 1º ano) e de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e, ainda, ter conhecimento de estruturas de dados fundamentais e algoritmos obtido em “Algoritmos e Estruturas de Dados I” (1.º ciclo, 2.º ano).

– Algoritmos e Estruturas de Dados I

requisitos: é necessário ter passado à disciplina de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e ter conhecimento de estruturas de dados fundamentais e algoritmos obtido nessa unidade curricular.

– Linguagens de programação I

requisitos: é necessário ter passado à disciplina de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e ter conhecimento de estruturas de dados fundamentais e algoritmos obtido nessa unidade curricular.

– Algoritmos e Estruturas de Dados II

requisitos: é necessário ter passado à disciplina de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e ter conhecimento de estruturas de dados importantes e fundamentais e algoritmos adquirido em “Algoritmos e Estruturas de Dados I” (1.º ciclo, 2.º ano).

– Linguagens de Programação II

requisitos: é necessário ter passado às disciplinas de “Introdução aos Algoritmos e Programação” (1º ciclo, 1º ano) e de “Linguagens de Programação I” (1º ciclo, 2º ano), pois é preciso ter conhecimento suficiente sobre capacidades avançadas de programação em C adquirido na segunda unidade curricular.

– Sistemas Operativos

requisitos: é necessário ter passado à disciplina de “Linguagens de programação I” (1º ciclo, 2º ano), pois é preciso ter conhecimento essencial sobre capacidades avançadas de programação em C adquirido nessa unidade curricular.

– Hardware e Sensores

requisitos: é necessário ter passado às disciplinas de “Arquitectura de Computadores” (1º ciclo, 2º ano) e de “Sistemas Digitais” (1º ciclo, 2º ano). É também necessário ter passado à disciplina de “Linguagens de Programação I” (1º ciclo, 2º ano), uma vez que é preciso ter conhecimento essencial sobre capacidades avançadas de programação em C adquirido nessa unidade curricular.

3.º ano

– Bases de Dados

requisitos: é necessário ter passado às disciplinas de “Linguagens de Programação I” (1º ciclo, 2º ano), “Linguagens de Programação II” (1º ciclo, 2º ano) e “Algoritmos e Estruturas de Dados II” (1º ciclo, 2º ano), pois é preciso ter conhecimento prático avançado de linguagens de programação como C e Java e estruturas de dados, tais como árvores binárias.

– Multimédia I

requisitos: é necessário ter passado às disciplinas de “Linguagens de Programação I” (1º ciclo, 2º ano), de “Linguagens de Programação II” (1º ciclo, 2º ano) e de “ Algoritmos e Estruturas de Dados II ”(1º ciclo, 2º ano), pois é preciso ter um bom conhecimento prático de linguagens de programação como C, Java e JavaScript/HTML.

– Laboratório de Programação

requisitos: é necessário ter passado à disciplina de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e ter conhecimento avançado de estruturas de dados e algoritmos em C e Java, obtido em “Linguagens de Programação I” (1º ciclo, 2º ano ) e “Linguagens de Programação II” (1º ciclo, 2º ano).

– Engenharia de Software

requisitos: é necessário ter passado à disciplina de ”Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e em “Algoritmos e Estruturas de Dados I” (1º ciclo, 2º ano), pois é preciso ter conhecimento de estruturas de dados e algoritmos fundamentais em C.

– Multimédia II

requisitos: é necessário ter passado à disciplina de “Multimédia I” (1º ciclo, 3º ano) e ter conhecimento prático avançado de estruturas avançadas de dados e grandes conhecimentos sobre linguagens de programação como C, Java ou JavaScript/HTML, adquiridos em “Linguagens de programação II” (1º ciclo, 2º ano) e “Laboratório de Programação” (1º ciclo, 3º ano).

– Redes de Computadores II

requisitos: é necessário ter passado à disciplina de “Introdução à Algoritmia e Programação” (1º ciclo, 1º ano) e um bom conhecimento prático das linguagens de programação, tais como C, obtido em “Linguagens de Programação I” (1º ciclo, 2º ano).

– Sistemas Distribuídos

requisitos: é necessário ter passado às disciplinas de “Linguagens de programação II” (1º ciclo, 2º ano), “Algoritmos e Estruturas de Dados II” (1º ciclo, 2º ano) e “Redes de Computadores I” (1º ciclo, 2º ano), pois é preciso ter conhecimento de conceitos orientados a objectos, capacidades avançadas de programação Java e noções de redes de computadores.

– Laboratório de Projecto Integrado

requisitos: é necessário ter passado à maioria das outras disciplinas como “Introdução à Algoritmia e Programação”, “Análise de Sistemas”, “Algoritmos e Estruturas de Dados I”, “Linguagens de Programação I”, “Algoritmos e Estruturas de Dados II”, “Linguagens de Programação II”, “Bases de Dados”, “Redes de Computadores I”, “Multimédia I”, “Engenharia de Software” e “Laboratório de Programação”, pois é preciso ter um conhecimento geral sobre conceitos orientados a objectos e capacidades avançadas de programação Java, assim como capacidades de programação web, tanto serv-side como client-side, incluindo PHP, JavaScript e HTML.


2.º Ciclo (actualizado para o ano lectivo de 2020-2021)

1.º ano

– Bases de Dados Avançadas
requisitos: é necessário ter passado à disciplina de “Bases de Dados” (1.º ciclo, 3.º ano) e bom conhecimento prático linguagens de programação orientadas a objectos, como Java ou C #.

– Segurança e Auditoria Informática
requisitos: é necessário conhecimento de sistemas operacionais, desenvolvimento de aplicações de software e conceitos de redes de computadores e redes sem fios.

– Interacção Homem-Máquina
requisitos: é necessário ter bases em Ciências da Computação, pois esta disciplina é fundamentada em conceitos importantes de design de software.

– Programação de Aplicações Móveis
requisitos: é necessário ter conhecimentos práticos sobre conceitos orientados a objectos e conhecimento avançado de programação nas linguagens Java e C#.

Para mais informações, por favor contactar o Prof. Doutor Nuno M. Ribeiro (nribeiro@ufp.edu.pt)