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
A aprendizagem dos alunos nesta disciplina faz-se, fundamentalmente, através do estudo da matéria teórica e da análise e implementação de casos, baseados em situações reais, visando uma consolidação dos conceitos.
Do ponto de vista prático, os alunos são estimulados a trabalhar em grupo, através de instrumentos colaborativos, constituindo o seu empenhamento e a familiarização com esses meios um dos factores relevantes na aprendizagem da unidade curricular.
» Critérios de Avaliação (C.A.) por frequência:
- Class. Final = 45% Teste escrito + 10% MiniTest1 + 10% MiniTest2 + 30% Proj. Prático + 5% Assiduidade (TP e PL).
» C.A. por exame final:
- Class. Final = 50% Prova Escrita (se a inclusão da avaliação da assiduidade (5%) for benéfica) ou 55%, em caso contrário
+ 45% Projeto Prático.
O aluno é aprovado se a nota de cada elemento (Proj. Prático, Teste, Média(MTest1, MTest2), Prova Escrita) forem >=8,0 e Classificação Final >= 9,5.
Bibliografia resumida
- Material de apoio às aulas disponibilizados na plataforma de e-learning, Lopes M C, 2009 (alterado por Vilaça J M, 2010 e Morgado J F, 2013).
- 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