Saltar para:
Logótipo
Você está em: Início > L.EIC009

Programação

Código: L.EIC009     Sigla: P

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia Informática e Computação

Ocorrência: 2025/2026 - 2S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle2526.up.pt/course/view.php?id=4813
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Licenciatura em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L.EIC 450 Plano Oficial 1 - 6 52 162

Docência - Responsabilidades

Docente Responsabilidade
João Fernando Peixoto Ferreira Regente
Jose Miguel Paiva Proença Regente
Mais informaçõesA ficha foi alterada no dia 2026-02-03.

Campos alterados: Métodos de ensino e atividades de aprendizagem, Resultados de aprendizagem e competências, Objetivos, Componentes de Avaliação e Ocupação, Fórmula de cálculo da classificação final, Programa, Obtenção de frequência, Melhoria de classificação, Observações, Programa, Trabalho de estágio/projeto, Observações, Obtenção de frequência, Melhoria de classificação, Avaliação especial, Provas e trabalhos especiais, Fórmula de cálculo da classificação final, Métodos de ensino e atividades de aprendizagem, Pre_requisitos, Componentes de Avaliação e Ocupação, Objetivos, Resultados de aprendizagem e competências

Língua de trabalho

Português - Suitable for English-speaking students
Obs.: Português

Objetivos

O objetivo desta unidade curricular é dotar os estudantes com conhecimentos fundamentais sobre a programação imperativa e orientada a objetos em C/C++.

Resultados de aprendizagem e competências

Os estudantes que concluírem com sucesso esta unidade curricular deverão ser capazes de resolver problemas de programação usando código em C/C++ que seja bem estruturado, legível, documentado e validado.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Nenhum conhecimento prévio é necessário.




Programa

- Programação imperativa em C/C++

  • Tipos de dados primitivos e estruturados. Operadores. Declaração e âmbito de variáveis.
  • Controlo de fluxo de programas: escolha, iteração, funções.
  • Apontadores, alocação dinâmica de memória, aritmética de apontadores.

- Programação orientada a objetos em C++

  • Classes e objetos: noções fundamentais. Definição de classes, encapsulamento de informação.
  • Herança entre classes e polimorfismo.
  • Classes e métodos genéricos ("templates"). A Standard Template Library (STL).
  • Exceções.

- Aspectos transversais

  • Uso das funcionalidades mais comuns nas bibliotecas padrão de C/C++.
  • Boas práticas de programação.
  • Estruturação de programas com vários módulos.
  • Legibilidade e documentação de código.
  • Deteção de erros e validação de programas usando "runtime sanitizers" e testes unitários.

Bibliografia Obrigatória

Deitel, P. & Deitel, H. ; C++ How to Program, Pearson, 2016
Paul J. Deitel; C how to program. ISBN: 978-0-13-705966-9

Bibliografia Complementar

Brian W. Kernighan; The C programming language. ISBN: 0-13-110362-8
Bjarne Stroustrup; The C++ programming language, Addison-Wesley. ISBN: 978-0321563842
Horstmann, C.; Big C++: Late Objects, John Wiley & Sons Inc., 2017

Métodos de ensino e atividades de aprendizagem

Aulas teóricas: exposição dos temas programáticos, usando materiais previamente disponibilizados aos estudantes, acompanhada pela discussão e resolução de casos.
Aulas práticas: resolução de exercícios de programação em C/C++; sempre que o docente achar necessário, poderá incentivar os estudantes com dificuldades a procurar a ajuda de monitores
Fora das aulas: resolução de exercícios de programação em C/C++ e de questionários de resposta múltipla, e desenvolvimento de um projeto de grupo, sobre as matérias lecionadas.

São usadas ferramentas de correção automática de código para aumentar a rapidez do “feedback” dado aos estudantes.



Software

gcc (compilador de C/C++)
CMake (sistema de build)
CLion (IDE para desenvolvimento em C++)

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Trabalho prático ou de projeto 10,00
Teste 90,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Obtenção de frequência

Condições para obtenção de frequência:

  • Não exceder o limite de faltas estabelecido nas normas (25% do número de aulas práticas previstas).
  • Entregar projeto de grupo (PROJ).

Estão dispensados de assiduidade às aulas práticas:

  • Os estudantes com estatuto de trabalhador-estudante.
  • Os estudantes que participaram em, pelo menos, 75% das aulas teórico-práticas no lectivo 2024/2025.

Estão dispensados de entregar o projeto de grupo:

  • Os estudantes que queiram aproveitar a nota obtida no projeto realizado em 2024/25. Recomenda-se, no entanto, a realização do projeto este ano, uma vez que os mini-testes terão perguntas relacionadas com o projeto.

Os estudantes que tenham obtido frequência no ano letivo anterior deverão realizar, no presente ano letivo, as componentes de avaliação abaixo indicadas.

Fórmula de cálculo da classificação final

A classificação final é dada pela seguinte fórmula:

Classificação final = 10% PROJ + 90% T

onde:

T = MAX(50 % MT1 + 50 % MT2, R)

Componentes de avaliação:

PROJ - Avaliação do projeto de grupo.

MT1 - Prova em computador, com 2 componentes, teórica e prática, a realizar a meio do semestre.

MT2 - Prova em computador, com 2 componentes, teórica e prática, a realizar no final do semestre.

R - Prova de recurso em computador, com 2 componentes, teórica e prática, a realizar na época de exames, abordando os tópicos das provas MT1 e MT2.

Não haverá nota mínima em nenhuma das componentes de avaliação para aprovação à unidade curricular.

Caso seja detectado plágio, por exemplo a submissão de código de outros, pode ser atribuída a classificação de RFR ("Reprovado por Fraude") a todos os envolvidos.

Estudantes que tenham realizado o exame da época de recurso (R) obtendo classificação final na UC no intervalo de [8.0, 9.5[, poderão realizar uma prova de recuperação (PR), para obtenção de nota máxima final de 10 valores.

Provas e trabalhos especiais

N/A

Trabalho de estágio/projeto

N/A

Avaliação especial (TE, DA, ...)

Os estudantes com estatuto especial, embora possam estar dispensados da frequência das aulas práticas, estão sujeitos às mesmas condições de avaliação dos estudantes regulares.

Melhoria de classificação

Os estudantes que frequentaram esta unidade curricular no presente ano letivo podem fazer melhoria das componentes MT1MT2, na época de recurso, através de uma prova global sobre toda a matéria, cujo resultados R é mencionado na fórmula de cálculo da classificação final. 

Os estudantes que queiram fazer melhoria de classificação do ano letivo anterior devem inscrever-se usando a opção "melhoria por frequência" e realizar as componentes
PROJ e T acima referidas, sendo a classificação final dada pela seguinte fórmula:

Classificação final = 10% PROJ + 90% T

Observações

Recomenda-se a frequência com aproveitamento de Fundamentos de Programação (L.EIC003) ou equivalente.

Durante os momentos de avaliação é terminantemente proibido o uso de qualquer dispositivo eletrónico (por exemplo: telemóveis, tablets, auriculares, smartwatches, óculos, etc), com a exceção dos expressamente indicados pela equipa docente, ou situações previstas no âmbito do Estatuto de Estudante com Necessidades Específicas. É da responsabilidade do estudante antecipar esta situação antes do início do momento de avaliação.

Recomendar Página Voltar ao Topo
Copyright 1996-2026 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2026-04-15 às 14:47:14 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias | Livro Amarelo Eletrónico