Algoritmos e Estruturas de Dados
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Programação |
Ocorrência: 2008/2009 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Na sequência das disciplinas de Introdução à Programação, recorrer às noções de programação já estabelecidas e sistematizar o uso de estruturas de informação e de algoritmos para resolver categorias de problemas. Usar, como paradigma de suporte ao desenvolvimento de programas, a orientação por objectos. Realizar pequenos projectos usando a linguagem C++. Dar ênfase à organização dos programas em torno de tipos de dados abstractos.
Programa
Programação orientada por objectos. Herança e Polimorfismo. Aspectos básicos de UML. Linguagem C++. Análise de algoritmos: classes e complexidade. Algoritmos de pesquisa e ordenação. Tipos abstractos de dados. Iteradores. Estruturas de dados lineares e sua implementação: pilhas, filas e listas. Árvores binárias e algoritmos associados. Tabelas de dispersão e algoritmos de manipulação. Filas de prioridade.
Árvores equilibradas. Árvores AVL e "Splay".
Bibliografia Obrigatória
Weiss, Mark Allen;
Data structures and algorithm analysis in C++. ISBN: 0-201-36122-1
Bibliografia Complementar
Sahni, Sartaj;
Data structures, algorithms, and applications in C++. ISBN: 0-07-115595-3
Deitel, H. M.;
C++ how to program. ISBN: 0-13-185757-6
Métodos de ensino e atividades de aprendizagem
As aulas teóricas são usadas para exposição formal da matéria, acompanhada da apresentação de exemplos e sua discussão. Nas aulas práticas são resolvidos exercícios de programação em C++, sendo também realizadas micro provas de avaliação individual em data previamente anunciada. Os alunos efectuam trabalhos de grupo de pequena dimensão que são acompanhados fora das aulas.
Software
Eclipse C++
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
75,00 |
|
|
teste individual de programação |
Exame |
4,50 |
|
|
trabalho de programação em grupo a desenvolver ao longo do semestre |
Trabalho escrito |
54,00 |
|
|
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
estudo de preparação para as provas de avaliação individual (escrita e de programação) |
Estudo autónomo |
55 |
|
|
Total: |
55,00 |
|
Obtenção de frequência
O aluno não pode exceder o limite de faltas previsto.
Fórmula de cálculo da classificação final
A avaliação consiste em duas componentes:
- componente em grupo (CG), consiste num trabalho de grupo (40%)
- componente individual (CI) (60%)
A avaliação do trabalho em grupo possui um ponto de avaliação intermédia do trabalho (15%) e um ponto de avaliação final (25%), sendo em cada um destes pontos de avaliação contabilizado o empenho e assiduidade do aluno no trabalho de grupo
A avaliação individual inclui duas componentes de igual peso:
- micro-teste escrito (CIE) : 5 pontos de avaliação (sendo contabilizados os 4 melhores), com consulta, de duração igual a 15 minutos, a resolver nas aulas práticas em data previamente anunciada
- exercício programação (CIP) : 3 pontos de avaliação, a resolver em computador, com consulta, de duração igual a 90 minutos.
Avaliação Final = CG*0,4 + CIE*0,3 + CIP*0,3
CIE = média das 4 melhores das 5 avaliações referentes aos micro-testes escritos
CIP = média das 3 provas de programação
Para aprovação na disciplina, o aluno deve obter uma classificação mínima de 35% (7 valores em 20) em qualquer das componentes: CG, CIE e CIP .
Avaliação especial (TE, DA, ...)
Os alunos inscritos ao abrigo de regimes especiais sem frequência de aulas práticas:
- podem efectuar a componente de avaliação sobre trabalhos em grupo (CG) em grupo ou sozinhos, devendo acordar com os docentes o trabalho a realizar, as datas de verificação da evolução do trabalho e a data de avaliação do trabalho.
- devem realizar a avaliação individual CIP nas datas estipuladas.
- podem substituir, se assim o desejarem, a avaliação CIE por um mini-teste escrito, , com consulta, de duração igual a 90 minutos, em data a combinar.
Melhoria de classificação
não se aplica