Código |
6624
|
Ano |
1
|
Semestre |
S2
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Informática
|
Tipo de ensino |
Presencial.
|
Estágios |
Não Aplicável.
|
Objectivos de Aprendizagem |
Esta unidade curricular tem como objetivos - aprofundar os conhecimentos de programação (usando linguagem C), através do estudo de tópicos avançados (memória dinâmica e ficheiros binários); - adquirir conhecimentos sobre algoritmia, em particular algoritmos recursivos, de ordenação, de pesquisa e de tabelas de Hash, e de análise de complexidade dos algoritmos.
No final desta unidade curricular o estudante deve ser capaz de resolver problemas utilizando a linguagem de programação em C e os conceitos avançados estudados, assim como desenvolver competências de algoritmia, em particular em problemas que envolvam recursividade, ordenação e/ou pesquisa. O estudante deve também ser capaz de analisar a eficiência dos algoritmos, através da respetiva análise de complexidade, de forma a usar os algoritmos mais eficientes para a resolução do problema em questão.
|
Conteúdos programáticos |
1. Memória dinâmica 2. Ficheiros binários 3. Passagem de parâmetros a main 4. O pré-processador do C 5. Makefiles 6. Recursividade 7. Análise de complexidade dos algoritmos 8. Algoritmos de ordenação: iterativa (Selecção e Bubblesort) e recursiva (Quicksort e Fusão) 9. Algoritmos de pesquisa: iterativa (exaustiva, sequencial e binária) e recursiva (binária) 10. Tabelas de dispersão (Hash)
|
Metodologias de Ensino e Critérios de Avaliação |
A Nota Final (NF) é obtida pela seguinte fórmula: NF = TE + FT, onde
TE - Teste Escrito (Frequência ou Exame) FT - 5 Fichas de Trabalho (a realizar ao longo do semestre), valendo cada 2 valores.
Assim, valores mínimos e máximos em cada componente: 2.5 <= TE <= 10 3.5 <= FT <= 10
|
Bibliografia principal |
Bibliografia principal: - "Estruturas de Dados e Algoritmos em C", Tecnologias de Informação, António Manuel Adrego da Rocha, FCA - Editora Informática, 2008 - "Linguagem C", Luís Damas, FCA - Editora de Informática, 1999 Bibliografia complementar: - "Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", By Robert Sedgewick, Addison-Wesley Professional; 3rd Edition, 2001 - "Elementos de Programação com C", 3ª Edição Actualizada e Aumentada, Pedro Guerreiro, FCA - Editora Informática, 2006
|
Língua |
Português
|