Menu Conteúdo Rodapé
  1. Início
  2. Cursos
  3. Engenharia Informática
  4. Programação II

Programação II

Código 13206
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 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:
- 2 Fichas Trabalho: 4 valores (a realizar nas aulas práticas - 2 valores cada)
- 2 Testes Escritos: 16 valores (8 valores cada)
- Assiduidade: 75%
Aprendizagem = Fichas Trabalho + Testes Escritos
em que,
- Assiduidade < 75% => Reprovado e Não Admitido a Exame
- Fichas de Trabalho < 1 (em 4) => 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 ao longo do semestre): 4 valores
- Teste Escrito (Exame): 16 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: 2017-06-29
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.