Fundamentos da Programação

Código

01061094

Créditos ECTS

6

Objetivos

Fornecer conhecimentos sobre conceitos fundamentais relativos à actividade de programação, nomeadamente, algoritmo, abstracção procedimental e abstracção de dados, a programação como construção de abstracções, paradigmas de programação. Após a frequência da cadeira, os alunos deverão dominar os conceitos apresentados e serem capazes de desenvolver programas numa linguagem de programação de alto nível, o Python.

Programa

Computadores, algoritmos e programas. Linguagens de programação. Sintaxe e semântica. Elementos básicos de programação. Tipos elementares de dados. Nomes e atribuição. Comunicação com o exterior. Programas, instruções e sequenciação. Seleção. Repetição. Funções. Abstração procedimental. Tuplos e ciclos contados. Cadeias de caracteres. Listas. Funções recursivas. Funções de ordem superior. Programação funcional. Recursão e iteração. Ficheiros. Dicionários. Abstração de dados. Tipos abstratos de dados. Programação com objetos

Métodos de Ensino

Aulas teóricas:
Exposição dos conceitos e apresentação de exemplos; resolução de exercícios teórico-práticos. 
Utilização de conteúdos sobre a linguagem Python disponíveis numa plataforma de e-learning

Aulas práticas laboratoriais:
Construção de programas em linguagem Python; utilização de uma ferramenta para codificação e teste de programas.
Utilização do sistema de gestão de aprendizagem Moodle, onde estão disponíveis recursos e atividades diversas, como complemento às aulas presenciais.

Bibliografia

Essencial
  Costa, E. (2015). Programação em Python – Fundamentos e Resolução de Problemas: FCA.
  Pine, D.J. (2019) Introduction to Python for Science and Engineering. CRC Press.

Complementar
  Vasconcelos, J.B. (2015). Python – Algoritmia e Programação Web. FCA.
  Wesley, J.C. (2012) Core Python Applications programming, 3th Edition. Prentice-Hall. [Biblioteca UAc, 2nd Ed.]
  Lutz, M: (2009) Learning Python. O'Reilly.

Método de Avaliação