Contacto WhatsApp 963640100

Universidade Lusófona

Algoritmia e Estruturas de Dados

Disciplina do Curso

Engenharia Informática

Grau|Semestres|ECTS

Licenciatura | Semestral | 5

Ano | Tipo de unidade curricular | Lingua

1 |Obrigatório |Português

Total de horas de Trabalho | Tempo de Contacto (horas)

140 | 60

Código

ULHT260-13397

Disciplinas complementares recomendadas

Não aplicável

Pré-requisitos e co-requisitos

Não aplicável

Precedências

Não

Estágio profissional

Não

Conteúdos Programáticos

- func¿o¿es recursivas, algoritmos recursivos
- tipos de dados complexos
- eficie¿ncia e optimizac¿a¿o (algori¿tmica e na¿o-algori¿tmica)
- complexidade de algoritmos
- algoritmos de pesquisa
- algoritmos de ordenac¿a¿o - bubble sort, selection sort, merge sort, quick sort
- tipos de dados abstractos - pilhas e filas
- listas ligadas
- a¿rvores
- tabelas de dispersão

Objetivos

O objectivo desta unidade curricular e¿ introduzir os conceitos fundamentais de algoritmos e das estruturas de dados ba¿sicas, numa perspetiva de resolver problemas complexos de uma forma eficiente.
O aluno devera¿ ser capaz de avaliar a eficie¿ncia de um algoritmo sem necessidade de o implementar ou testar. Devera¿ ser igualmente capaz de aplicar a estrutura de dados mais eficaz e eficiente para resolver um determinado problema.
Concretamente, o aluno devera¿ conseguir implementar programas em Java cuja eficie¿ncia seja um crite¿rio significativo de sucesso (ex: pesquisa, ordenac¿a¿o).

Metodologias de ensino e avaliação

A disciplina e¿ teo¿rico-pra¿tica, havendo uma alterna¿ncia entre a componente expositiva e participativa. As aulas teóricas seguem o programa definido, apresentando os conceitos teóricos sustentados por exemplos práticos. A aprendizagem dos conceitos é validada através de pequenos exercícios em papel feitos durante a aula, que permitem ao professor aferir da eficácia das suas explicações. Nas aulas práticas os alunos aplicam os conceitos teóricos à resolução de exercícios de programação feitos em computador, de forma individual ou em grupo. As aulas práticas decorrem sempre em sintonia com as aulas teóricas da semana anterior.
Avaliação:
- Componente teórica (40% da nota final, nota mínima 9,5), com uma frequência intermédia e outra final (cada uma tem nota mínima 8).
- Componente prática (60% da nota final, nota mínima 9,5), com
3 TPCs práticos individuais (2 dos quais obrigatórios) e um projecto em grupos de 2, com discussão presencial.

Bibliografia principal

Data structures & Algorithms in Java, Second Edition. Robert Lafore. SAMS
Algorithms, Fourth Edition. Robert Sedgewick, Kevin Wayne. Addison-Wesley Professional.