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)