Estruturas de Dados e Algoritmos

Ano
1
Ano lectivo
2014-2015
Código
01000334
Área Científica
Ciências da Computação
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Programação de Computadores

Métodos de Ensino

Aulas teóricas com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e teorias fundamentais e com a resolução de exercícios práticos elementares que concretizem o interesse prático da matéria e exemplifiquem a sua aplicação a situações reais.

Aulas práticas laboratoriais em que se pretende que os alunos, com a orientação do docente, resolvam alguns exercícios de aplicação prática, que exijam a conjugação de conceitos teóricos distintos e promovam o raciocínio crítico face a problemas mais complexos.

Resultados de Aprendizagem

Esta unidade curricular pretende complementar os conhecimentos adquiridos na disciplina de Programação de Computadores.

Pretende-se que os alunos adquiram conhecimentos fundamentais em estruturas de dados e algoritmos, tipos de dados abstractos, algoritmos simples de ordenação e de pesquisa de dados, bem como programação com classes (programação orientada a objectos). Pretende-se ainda que sejam capazes de: identificar as propriedades de bons algoritmos; utilizar uma linguagem de programação orientada por objectos para implementar, testar e depurar algoritmos e estruturas de dados (listas, pilhas, filas, árvores binárias, árvores binárias de pesquisa); escrever programas que usem essas estruturas de dados; conhecer aplicações típicas dessas estruturas de dados; criar/seleccionar algoritmos e estruturas de dados para resolver um dado problema.

Estágio(s)

Não

Programa

  • Introdução à programação orientada a objectos
  • Análise de Algoritmos e Complexidade
  • Recursividade.
  • Algoritmos de ordenação e pesquisa
  • Estruturas de dados ligadas: Listas, Filas, Pilhas
  • Árvores

Docente(s) responsável(eis)

Rui Paulo Pinto da Rocha

Métodos de Avaliação

Avaliação
A avaliação consiste em mini testes e frequências que promovem a aprendizagem contínua e em exame. Poderá ainda haver uma componente de avaliação com trabalhos de casa e um projecto.: 100.0%

Bibliografia

• Michael T. Goodrich, Roberto Tamassia and David M. Mount (2004), Data Structures and Algorithms in C++, Wiley.

• Nell Dale (5th ed, 2011), C++ Plus Data Structures, Jones and Bartlett Publishers.