Fundamentos da Programação
Código
01061094Créditos ECTS
6Objetivos
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.
