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.
Nas aulas teóricas são dados desafios, de modo a que os alunos trabalhem em casa. Na semana seguinte são discutidas (na aula) as possíveis soluções.
É 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.
1. Classificação Final = 50%(Parte Teórica) + 50%(Parte Pratica)
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