Publicação em Diário da República: Despacho n.º 12419/2016 - 14/10/2016
7 ECTS; 1º Ano, 1º Semestre, 60,0 PL + 30,0 TP + 5,0 OT , Cód. 81434.
Docente(s)
            - Sandra Maria Gonçalves Vilas Boas Jardim (1)(2)
(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 - realização individual de 3 séries de problemas com peso individual de 5%, prova escrita (40%) e trabalho prático (45%)
Avaliação final - prova escrita com componente computacional (50%) e trabalho prático (50%)
Nota: Em qualquer das épocas de avaliação, para obter aprovação, as classificações mínimas da prova escrita, bem como do trabalho prático, é de 7 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

















