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

Programação

Ficha provisória
Código: L.EIC009     Sigla: P

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

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

Ativa? Sim
Página Web: https://moodle2324.up.pt/course/view.php?id=5284
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 465 Plano Oficial 1 - 6 52 162

Docência - Responsabilidades

Docente Responsabilidade
João Carlos Viegas Martins Bispo Regente

Docência - Horas

Teóricas: 2,00
Teórico-Práticas: 2,00
Tipo Docente Turmas Horas
Teóricas Totais 3 6,00
João Carlos Viegas Martins Bispo 3,00
Teórico-Práticas Totais 20 40,00
David Miguel Ramalho Pereira 4,00
Alexandra Sofia Ferreira Mendes 8,00
Rúben André Mota Dhanaraju 4,00
Lázaro Gabriel Barros da Costa 4,00
Afonso Manuel Maia Lopes Salgado de Sousa 2,00

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

IDE para desenvolvimento em C++ (Visual Studio Code)
GCC: compilador de C/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 30,00
Teste 70,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). 

Os estudantes com estatuto de trabalhador-estudante ou que tenham obtido frequência no ano letivo anterior estão dispensados de assiduidade às aulas práticas.  No entanto, 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% AC + 20% PROJ + 70% T

onde

T = MAX(50 % P1 + 50 % P2, R)

Componentes de avaliação:

AC - Avaliação contínua: perguntas de resposta múltipla e exercícios de programação semanais.

PROJ - Avaliação do projeto de grupo.

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

P2 - 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 P1 e P2.

Para aprovação sem recorrer à prova de recurso, os estudantes deverão obter uma classificação mínima de 30% em P1 e 30% em P2. Para aprovação na prova de recurso, os estudantes deverão também obter uma classificação mínima de 30% em R.

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.

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 P1 e/ou P2, na época de recurso, 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 = 20% PROJ + 80% T

Assim sendo, a componente curricular de AC não é considerada para melhoria.

Observações

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

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Última actualização: 2024-09-19 I  Página gerada em: 2024-09-27 às 15:18:22 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias