Programação
Código
0104647Créditos ECTS
6Objetivos
A disciplina de Programação tem por objectivo dotar os alunos com os conceitos básicos de programação procedimental em linguagens de alto nível. Pretende-se que os alunos adquiram os conceitos indispensáveis à resolução algorítmica de problemas, com especial enfâse nos que surgem habitualmente na área da Engenharia, estruturação de aplicações, e abstracção procedimental e de dados.
Programa
Introdução. Computadores e sistemas operativos. Algoritmos e linguagens de programação. Desenvolvimento, compilação e depuração de um programa. Noção de léxico, sintaxe e semântica. Conceitos elementares. Estrutura de um programa. Tipos de dados elementares. Operadores e expressões. Introdução às instruções de entrada/saída. Instruções de selecção. Instruções de controlo de fluxo. Programação estruturada. Funções. Variáveis globais e locais. Visibilidade e tempo de vida de uma variável. Modularidade e estruturação: divisão por ficheiros. Estruturas de dados. Vectores. Cadeias de caracteres. Vectores multidimensionais. Estruturas. Recursividade. Apontadores. Passagem de argumentos: valor e referência. Apontadores e arrays. Aritmética de apontadores. Ficheiros. Utilização de ficheiros. Ficheiros de texto. Estruturas de dados dinâmicas. Variáveis estática se dinâmicas. Noções de estruturas de dados dinâmicas: Pilhas; Filas; Listas simples e duplamente ligadas.
Métodos de Ensino
As metodologias de ensino pretendem fomentar a aprendizagem baseada em resolução de problemas e por projectos, reforçando-se a componente prática, a aprendizagem, activa, o trabalho autónomo e a responsabilização do estudante. O modelo de avaliação incorpora elementos de avaliação contínua no âmbito da aprendizagem ativa (p. ex, projectos, trabalhos de casa, fichas, etc)compatível com a redução significativa do peso de avaliação por exames (≤50%).
Bibliografia
The C Programming Language - The ANSI edition, Brian W. Kernighan, Dennis M. Ritchie, 1988, Prentice-Hall; C Programming: AModern Approach, 2nd Edition, K. N. King, 2008, ; Introduction to Computation and Programming Using Python: With Application toUnderstanding Data Second Edition, John Guttag, 2016, MIT Press
Método de Avaliação
Conforme Métodos de Ensino - 100 %