Saltar para:
Logótipo
Você está em: Início > EIC0012

Programação

Código: EIC0012     Sigla: PROG

Áreas Científicas
Classificação Área Científica
OFICIAL Programação

Ocorrência: 2011/2012 - 2S

Ativa? Sim
Página Web: http://moodle.fe.up.pt/course/view.php?id=16
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado 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
MIEIC 180 Plano de estudos a partir de 2009/10 1 - 7 70 189

Língua de trabalho

Português

Objetivos

O estudante deverá completar e consolidar a aprendizagem de programação iniciada na disciplina Fundamentos da Programação com a linguagem Scheme, utilizando agora a linguagem C++.
No final da unidade curricular o estudante será capaz de:
- identificar os conceitos fundamentais da programação procedimental e da programação baseada em objectos;
- resolver problemas de programação de baixa e média complexidade utilizando a linguagem C++ e as abstrações definidas na biblioteca standard de C++;
- desenvolver soluções para problemas de programação que passem pela definição e implementação em C++ de abstrações definidas pelo próprio.

Programa

INTRODUÇÃO AO C/C++
Tipos de dados fundamentais e E/S básica. Variáveis e tipos de dados simples. Declarações. Operadores. Expressões aritméticas e booleanas.
Estruturas de controlo: estruturas de selecção e de repetição.
Tipos de dados estruturados: arrays e strings de C; vectors e strings de C++.
Apontadores e alocação de memória dinâmica.
Funções: definição e declaração de funções; variáveis locais e variáveis globais; mecanismos de passagem de parâmetros e retorno de valores (passagem de parâmetros por valor e por referência).
"Streams": entrada e saída usando ficheiros de texto; stringstreams.
INTRODUÇÃO ÀS CLASSES E ABSTRACÇÃO DE DADOS
Conceitos fundamentais. Classes e Structs. Encapsulamento. Membros-dado e membros-função. Construtores- Construtores com parâmetros. "Templates". Introdução à concepção de programas OO. Relações entre classes; implementação de associações.
STANDARD TEMPLATE LIBRARY
Contentores: vector, list, map, set. Iteradores e algoritmos.
CLASSES – CONCEITOS ADICIONAIS
Qualificadores especiais: const, static, friend. Construtores de cópia.
Destrutores. "Overloading" de operadores.
HERANÇA E POLIMORFISMO
Classes derivadas. Acesso aos membros da classe base. Formas de polimorfismo: "overloading" de funções; "overriding" (funções virtuais); "templates".
EXEMPLOS DE APLICAÇÃO
Conceção de programas usando programação OO.
Implementação de contentores.

Bibliografia Obrigatória

H. M. Deitel, P. J. DeitelDeitel; C++ how to program. ISBN: 0-13-185757-6 (Existe uma versão mais actual (7/ed) com ISBN 0-13-611726-0)

Bibliografia Complementar

Andrew Koenig, Barbara E. Moo; Accelerated C++. ISBN: 0-201-70353-X
Lippman, Stanley B.; C++ Primer. ISBN: 0-201-82470-1

Métodos de ensino e atividades de aprendizagem

• Aulas Teóricas: A exposição dos temas programáticos acompanhada pela discussão e resolução de casos.
• Aulas Teórico-Práticas: Na primeira parte do semestre serão dedicadas à realização de exercícios de programação. Seguir-se-á o desenvolvimento de dois projectos em C++ e avaliação do trabalho realizado pelos estudantes, organizados em pequenos grupos (normalmente, de 2 estudantes).

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Descrição Tipo Tempo (Horas) Peso (%) Data Conclusão
Participação presencial (estimativa) Participação presencial 60,00
Trabalhos fora das aulas Teste 60,00 2012-06-01
Exame Exame 3,00 2012-07-13
Total: - 0,00

Componentes de Ocupação

Descrição Tipo Tempo (Horas) Data Conclusão
Estudo das matérias leccionadas Estudo autónomo 50 2012-06-01
Preparação para exame Estudo autónomo 16 2012-07-13
Total: 66,00

Obtenção de frequência

Condições para obtenção de frequência
Não exceder o limite de faltas estabelecido pelas Normas e obter uma classificação mínima de 40% na avaliação distribuída.

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

Avaliação distribuída (AvD) com exame final (AvEx).

• AvD - No início das aulas teórico-práticas, os docentes organizam as turmas em grupos de, normalmente, 2 estudantes. Durante o semestre, são apresentados 2 projectos que os grupos desenvolverão tanto nas aulas teórico-práticas, como fora das aulas. O docente avaliará o trabalho dos grupos pelo respectivo desempenho nas aulas e também pelo material que submeterão na página da disciplina. Para o último projecto, cada grupo apresentará um pequeno relatório e o projecto será defendido oralmente por elementos do grupo, escolhidos pelo docente.

• AvD e AvEx são especificadas numa escala de 0 a 20 valores.
• Peso dos projectos em AvD:
- Projecto 1 - 40%
- Projecto 2 - 60%

• Classificação = AvD * 0.5 + AvEx * 0.5
• Prova oral: sempre que a equipa docente achar necessário, o estudante poderá ser submetido a uma prova oral. Nesta situação, a classificação final será dada pela média aritmética da classificação calculada pela fórmula anterior e da classificação da prova oral.

Observações:
1- É condição de aprovação a obtenção de uma classificação mínima de 40% na componente AvEx.
2- Se, por decisão do docente, não ocorrer algum dos projectos, a cotação correspondente será redistribuída pelos restantes elementos de avaliação.

Provas e trabalhos especiais

Ver AvD, em Componentes de avaliação.

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

Os alunos 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 alunos regulares, isto é, devem realizar e submeter os trabalhos práticos nos períodos e datas estabelecidos para os restantes alunos.

Melhoria de classificação

A classificação de frequência pode ser melhorada na ocorrência seguinte desta unidade curricular.
A classificação do exame escrito pode ser melhorada nas épocas legalmente previstas.

Observações

Recomenda-se a frequência com aproveitamento de Fundamentos de Programação 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
Página gerada em: 2024-07-22 às 22:31:42 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias