Informação adicional: http://ctp.di.fct.unl.pt/di/aed/
Introdução dos conceitos de tipo abstracto de dados, e de algoritmos e estruturas de dados básicas, como ferramentas essenciais para resolver problemas de forma estruturada e eficiente.
Dois hábitos são particularmente exercitados no desenvolvimento de programas para problemas concretos: estruturar as soluções desenvolvidas em tipos abstractos de dados, e escolher os algoritmos e estruturas de dados adequadas ao problema em causa, de forma que a solução seja eficiente.
Saber: Técnicas básicas para a resolução de problemas: tipos abstractos de dados fundamentais (lista, conjunto, pilha, fila, dicionário, dicionário ordenado) e do domínio do problema; técnicas básicas de desenho de algoritmos: estruturas de dados fundamentais (vector, lista ligada simples e dupla, tabela de dispersão, árvores binárias); técnicas básicas para análise de algoritmos: complexidade espacial e temporal.
Saber Fazer: modelar programas usando tipos abstractos de dados; definir e implementar tipos abstractos de dados no domínio do problema; calcular a complexidade espacial e temporal de algoritmos; implementar os tipos abstractos de dados fundamentais, utilizando as estruturas de dados mais adequadas; conceber e implementar soluções eficientes para problemas concretos.
Soft-skills: Capacidade para avaliar soluções, capacidade para seleccionar as técnicas apropriadas a um problema; capacidade de comunicação escrita: relatórios de projetos da disciplina.
Mark Allen Weiss.
Data Structures and Algorithm Analysis in C (second edition).
Addison-Wesley, 1997.
ISBN 0-201-49840-5 (Hard cover)
Linguagem de Programação C
Brian Kernighan and Dennis Ritchie
The C Programming Language (second edition).
Prentice-Hall, 1988.
ISBN 0-13-110362-8 (Paperback)
Pedro Guerreiro.
Elementos de Programação com C (3ª edição).
FCA - Editora de Informática, 2005.
Luis Damas.
Linguagem C (12ª edição).
FCA - Editora de Informática, 2005.
Precedência obrigatória:
- Programação de Microprocessadores
Horas por crédito | 28 | ||
Horas p/ semana | Semanas | Horas | |
Aulas práticas e laboratoriais | 42.0 | ||
Aulas teóricas | 28.0 | ||
Avaliação | 6.0 | ||
Estudo | 42.0 | ||
Orientação tutorial | 14.0 | ||
Projectos e trabalhos | 30.0 | ||
Total de Horas | 162 | ||
ECTS | 6.0 |