Objetivos / Competências
Aplicar metodologias e mecanismos abstratos de resolução de problemas.
Especificar algoritmos para resolução de problemas.
Fasear a implementação de um programa escrito numa linguagem de alto nível.
Conteúdos programáticos resumidos
- Teoria de programação: conceitos básicos
Introdução à programação e seus objectivos
Linguagens de programação
Metodologia de programação
Construção de um algoritmo
- Programação numa linguagem de alto nível (C)
Estrutura de um programa em linguagem C
Tipos de dados básicos
Testes e condições - expressões e operadores. Precedências
Estruturas de repetição
Funções
Dados estruturados (vectores e strings)
Apontadores
Estruturas
Memória dinâmica
- Recursividade
- Ficheiros
- Algoritmos de ordenação e pesquisa em tabelas
Metodologias de ensino e critérios de avaliação
Nesta UC, a aprendizagem faz-se através do estudo da matéria teórica e da análise e implementação de casos, baseados em situações reais, visando a consolidação dos conceitos.
Os alunos são estimulados a trabalhar em grupo, usando instrumentos colaborativos, constituindo a sua utilização um elemento fundamental para a realização do Projecto Prático.
» Critérios em Avaliação Contínua:
Alternativa 1:
- Class. Final = 45% Teste Escrito + 10% MiniTest1 + 10% MiniTest2 + 35% Proj. Prático.
Alternativa 2:
- Class. Final = 60% Teste Escrito + 40% Proj. Prático.
» Critérios de Avaliação por Exame Final:
- Class. Final = 60% Prova Escrita + 40% Proj. Prático.
Em todas as épocas de avaliação, a nota a considerar para o Proj. Prático não pode exceder 5 V (em 20V), relativamente ao Teste Escrito ou Prova Escrita.
O aluno é aprovado se a nota de cada elemento (Teste Escrito, Prova Escrita, Projecto Prático) forem >=8,0 e Classificação Final >= 9,5.
Bibliografia resumida
- Material de apoio às aulas disponibilizados na plataforma de e-learning:
- Slides da UC, Lopes, M. C., 2009 (alterados por Vilaça, J. M., 2010; Morgado, J. F., 2013 and Loureiro, J. L., 2018);
- Fichas de trabalho a usar nas aulas TP e PL.
- The C Programming Language – 2nd Edition, Kernighan B W, Ritchie D M, Prentice Hall, 1988. COTA: 004.43 C KER PRO
- Linguagem C (14ª Edição), Damas L, FCA, 2006. COTA: 004.43 C DAM LIN
- Algoritmos e Estruturas de Dados, Guimarães A N, Lages N A C, Livros Técnicos e Científicos Editora SA, 1985.
- Algorithms + Data Structures = Programs, Wirth N, Prentice Hall, 1984. COTA: 004.2 WIR
- C: a Linguagem de Programação, Kernighan B W, Ritchie D M, Editora Campus, Rio de Janeiro, 1986. COTA: 004.43.C KER LIN
- Data Structures Using C, Tenebaum A M, Langsam Y, Augenstein M J, Prentice Hall, 1990. COTA: 004.43 C TEN DAT