Estruturas de Dados e Algoritmos
1
2014-2015
01000334
Ciências da Computação
Português
Inglês
Presencial
Semestral
6.0
Obrigatória
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ãoPrograma
- 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.