Menu Conteúdo Rodapé
  1. Início
  2. Cursos
  3. Economia
  4. Programação e Algoritmos

Programação e Algoritmos

Código 12121
Ano 3
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 Os principais objetivos desta Unidade Curricular são:
- adquirir conhecimentos sobre algoritmia, em particular algoritmos recursivos, de ordenação, de pesquisa e tabelas de Hash, e análise de complexidade dos algoritmos;
- compreender os conceitos fundamentais associados aos vários tipos de estruturas de dados sequenciais (listas ligadas, pilhas, filas e listas com saltos) e não sequenciais (árvores binárias), e dos algoritmos passíveis de aplicação a cada estrutura.

No final da Unidade Curricular o estudante deve ser capaz de
- desenvolver competências de algoritmia, em particular em problemas que envolvam recursividade, ordenação e/ou pesquisa;
- analisar a eficiência dos algoritmos, através da respetiva análise de complexidade, de forma a usar os algoritmos mais eficientes na resolução do problema em questão;
- idealizar, esquematizar e implementar estruturas de dados e respectivos algoritmos com vista à resolução de problemas.
Conteúdos programáticos 1. Apontadores e Alocação Dinâmica de Recursos
2. Recursividade
3. Algoritmos de ordenação: iterativos (selecção e Bubblesort) e recursivos (QuicKsort e fusão)
4. Algoritmos de pesquisa: iterativos (exaustiva, sequencial e binária) e recursivo (binária)
5. Tabelas de dispersão (Hash)
6. Análise de complexidade dos algoritmos
7. Estruturas de Dados Sequênciais: Listas, Pilhas, Filas e Listas com Saltos
8. Estruturas de Dados Não-Sequênciais: Árvores binárias
9. Grafos e redes
Metodologias de Ensino e Critérios de Avaliação Estão previstas para a UC;
- 2 horas semanais de aulas teóricas para exposição dos conceitos teóricos e teórico-práticos, através de slides
- 2 horas semanais de práticas num dos laboratórios de desenvolvimento de software, nas quais o estudante irá aplicar e testar os conhecimentos adquiridos nas aulas teóricas.

Avaliação:
Aprendizagem:
- 4 Fichas de Trabalho: 6 valores (a realizar nas aulas práticas - 1,5 valores cada)
- 2 Testes Escritos: 14 valores (7 valores cada)
- Assiduidade: 75%
Aprendizagem = Fichas Trabalho + Testes Escritos
em que,
- Assiduidade < 75% => Reprovado e Não Admitido a Exame
- Fichas de Trabalho < 1,5 (em 6) => Reprovado e Não Admitido a Exame
- Aprendizagem < 5,5 => Reprovado e Não Admitido a Exame
- Aprendizagem >= 9,5 => Aprovado e Dispensado de Exame
- Outros casos => Reprovado e Admitido a Exame
Exame = Fichas Trabalho + Teste Escrito (Exame)
em que,
- Fichas Trabalho (realizadas durante o semestre): 6 valores
- Teste Escrito (Exame): 14 valores
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
Data da última atualização: 2015-07-10
As cookies utilizadas neste sítio web não recolhem informação pessoal que permitam a sua identificação. Ao continuar está a aceitar a política de cookies.