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: 2021/2022 - 1S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle.up.pt/course/view.php?id=4083
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 117 Plano Oficial 2 - 6 52 162
Mais informaçõesA ficha foi alterada no dia 2021-10-17.

Campos alterados: Objetivos, Resultados de aprendizagem e competências, Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Bibliografia Complementar, Programa, Software de apoio à Unidade Curricular, Bibliografia Obrigatória, Obtenção de frequência

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

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

 

Resultados de aprendizagem e competências

Os estudantes que concluirem 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)

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

Programa

- Programação imperativa em C/C++
  - Tipos de dados primitivos e estruturados. Operadores. Declaração e âmbito de variáveis.
  - Fluxo de controlo de programas: escolha, iteração, funções.
  - Apontadores, alocação dinâmica de memória, aritmética de apontadores.

- Programação orientada-a-objectos em C++
  - Classes e objectos: 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).
  - Excepções.

- Aspectos transversais
  - Uso das funcionalidades mais comuns nas bibliotecas standard em 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. ISBN: 0-201-88954-4

Métodos de ensino e atividades de aprendizagem

• Aulas teóricas: exposição dos temas programáticos acompanhada pela discussão e resolução de casos.
• Aulas teórico-práticas: resolução de exercícios de programação em C/C++. 
• Fora das aulas: resolução de projectos e trabalhos práticos em grupo.

Software

GoogleTest - Google Testing and Mocking Framework
GCC (GNU Compiler Collection, compiladores de C e C++)
CLion: a cross-platform IDE for C++
Doxygen: documentation generator for C++ code

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 60,00
Trabalho prático ou de projeto 40,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 80,00
Frequência das aulas 63,00
Elaboração de projeto 10,00
Trabalho laboratorial 50,00
Total: 203,00

Obtenção de frequência

Condições para obtenção de frequência e acesso ao exame final:

- não exceder o limite de faltas às aulas práticas estabelecido nas normas gerais de avaliação (25 % das aulas);
- obter uma classificação mínima de 40% (8 em 20) na avaliação distribuída.


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

Avaliação distribuída com exame final.

Componentes de avaliação:

- P (40%): projectos e trabalhos práticos de programação, realizados em grupos de até 2 alunos.
- E (60%): exame final.

Classificação final = P * 40% + E * 60 %

Todos os componentes de avaliação são classificados numa escala de  0 a 20.

Para além da condição de obtenção de frequência (P >= 40 % - 8 / 20) é condição de aprovação final a obtenção de uma classificação mínima também de 40 % (8 /20) no exame final.

Serão anulados os componentes de avaliação que evidenciem plágio de de colegas ou outras fontes.

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. Devem realizar e submeter os trabalhos práticos / projetos nos períodos e datas estabelecidos para os restantes estudantes.

Melhoria de classificação

A classificação pode ser melhorada da seguinte forma: a classificação dos projetos (/ trabalhos práticos) pode ser melhorada na ocorrência seguinte desta unidade curricular; a classificação do exame final pode ser melhorada nas épocas seguintes, legalmente previstas.

Os estudantes que pretendam melhorar a classificação obtida no ano letivo anterior poderão optar por realizar apenas os projetos, apenas o exame ou ambos. Os estudantes que pretendam realizar os projetos devem contactar o docente responsável, no início do curso e após a divulgação de cada projeto, para a marcação de sessões de acompanhamento do trabalho. A entrega dos projetos ocorrerá em simultâneo com a dos restantes estudantes.

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
Página gerada em: 2025-06-24 às 22:14:57 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias