Objetivos / Competências
Aplicar metodologias de resolução de problemas recorrendo a programação estruturada em linguagens de alto nível. Definir e usar o conceito de alocação de memória dinâmica. Identificar e utilizar tipos de dados estruturados (listas, pilhas filas, árvores, hashing e grafos). Reconhecer a necessidade de aplicar metodologias de programação a estruturas de dados genéricas.
Conteúdos programáticos resumidos
- Programação em linguagem de programação C:
- Análise da complexidade de algoritmos
- Listas ligadas:
Stacks
Filas de espera
Ordenadas
Bi-ligadas
- Hashing:
conceitos
estático e dinâmico
tabelas de hashing,
- Árvores:
Conceitos
Árvores Binárias
Balanceamento de árvores
Árvores B
- Grafos
Definições, matrizes e listas de adjacências
Algoritmos de procura
Caminho mais curto
Metodologias de ensino e critérios de avaliação
O método de Ensino, consiste numa exposição teórica da matéria (nas aulas teóricas). Nas aulas Laboratoriais, os alunos implementam os exercícios segundo a metodologia de POO.
É disponibilizado um horário de atendimento para que os alunos possam tirar dúvidas sobre a matéria leccionada.
Do ponto de vista prático, os alunos são estimulados a trabalhar em grupo, elaborando um projeto prático apoiado pelos docentes.
Classificação Final = 40%Teórica:Exame + 40%(1 projecto em grupo) + 20%(Entrega exercícios)
-Teórica:Exame preferencialmente escrito, se as condições não forem possíveis será online;
-Se Exame for online e se Nota > 16 haverá uma prova oral, no caso de não comparência será atribuída 16 ao exame;
-O Projecto e os exercícios são válidos para todas as épocas
-A avaliação é igual para todas as épocas;
-Nota minima Teória: 8.5
-Nota minima Prática: 9.5
-Aprovado se Classificação Final >= 9.5
Bibliografia resumida
- Textos e cópias dos acetatos de apoio às aulas fornecidos pelo docente.
- Manuais de Unix (Linux).
- Algorítmos e Estruturas de Dados, Guimarães, A. M., Lages, N. A. C., Livros Técnicos e Científicos Editora S.A, 1985.
- Algorítmos e Estruturas de Dados, Wirth, N., Prentice Hall, 1975.
- The C Programming Language - 2nd edition, Kernighan, B. W., Ritchie, D. M., Prentice Hall, New Jersey, 1988, ISBN 0-13-110362-8; Cota 004.43 C KER PRO - 05705
- C: a linguagem de programação, Kernighan, B. W., Ritchie, D. M., Editora Campus, Rio de Janeiro,1986, ISBN 85-7001-410-4; Cota 004.43.C KER LIN - 01671
- Data Structures Using C, TenenBaum, A., M., Langsam, Y. Augenstein M. J., Prentice-Hall, New Jersey, 1990, ISBN 0-13-200411-9; Cota 004.43 C TEN DAT - 03353
- C the Complete Reference, Shildt, H., McGraw-Hill 1987., ISBN 0-07-881263-1; Cotas 004.43 C SCH COM - 00890, 004.43 C SCH COM - 0107