7 ECTS; 1º Ano, 1º Semestre, 60,0 PL + 30,0 TP , Cód. 61424.
Docente(s)
            - Sandra Maria Gonçalves Vilas Boas Jardim (1)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
          Não aplicável
Objetivos
          Os estudantes que terminam com sucesso a UC deverão ser capazes de: 
1. Analisar e construir algoritmos para a resolução de vários tipos de problemas. 
2. Conhecer e saber aplicar diferentes estruturas de dados e de controlo de fluxo. 
3. Implementar algoritmos utilizando a linguagem de programação 
Programa
          A. Conceitos básicos acerca de computação e computadores. 
B. Algoritmos e linguagens: Diagramas de Fluxo e Pseudocódigo. 
C. Manipulação de informação. 
D. Estruturas de decisão e de repetição. 
E. Estruturas de dados compostas (arrays ? vetores e matrizes; estruturas; strings ? cadeias de caracteres). 
F. Modularidade. 
G. Algoritmos iterativos e recursivos. 
H. Gestão dinâmica de memória. 
I. Operações sobre ficheiros.
Metodologia de avaliação
          Avaliação periódica - Dois testes escritos, tendo o primeiro um peso de 20% e o segundo um peso de 30%, e dois trabalhos práticos (com peso de 25% cada um).
Avaliação final - prova escrita com componente computacional (50%) e trabalho prático (50%)
Em cada um dos elementos de avaliação o aluno deverá obter uma nota mínima de 7,5 valores.
Bibliografia
          - Kochan, S. (2014). Programming in C. (Vol. 1). (pp. 1-552). USA:  Addison-Wesley Professional
- Pereira, A. (2017). C e Algoritmos. (Vol. 1). (pp. 1-246). Portugal:  Edições Sílabo
Método de Ensino
          Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais previstos para a UC. Aulas práticas-laboratoriais destinadas à resolução de casos práticos e aplicação dos conceitos a cenários de utilização real.
Software utilizado nas aulas
          Visualg; Code Blocks; ferramentas de produtividade; plataforma de eLearning

















