Plano de Estudos
Fundamentos de Programação FPro
Contextos
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 892 - Mestrado em Informática - Geral > 1º semestre
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 787 - Mestrado em Informática - CTP
ECTS
6.0 (para cálculo da média)
Objectivos
O objetivo principal desta unidade curricular é apresentar aos estudantes a base e os aspetos teóricos da programação. No final do semestre, os estudantes deverão ser capazes de lidar com problemas de programação de média complexidade, utilizando uma linguagem de programação interpretada, por exemplo, Python. Mais especificamente, espera-se que os estudantes sejam capazes de: - descrever os princípios, conceitos e fundamentos da programação. - projetar e implementar, numa linguagem de programação, uma solução executável (para um determinado problema) que utilize as bases e fundamentos da programação, cálculos básicos, estruturas condicionais, input / ouput, persistência e exceções. - escrever funções e determinar corretamente o escopo léxico de variáveis. - compreender a abstração de dados e usar tipos de dados adequados a determinado problema. - escrever e documentar programas de acordo com as melhores práticas. - aplicar técnicas de teste de software.
Programa
Breve introdução aos fundamentos da programação, programação de computadores e linguagens de programação, seguida de uma discussão aprofundada dos seguintes conceitos de programação: - Variáveis: identificadores, operadores de atribuição, identificadores recomendáveis e palavras reservadas. - Tipos de dados I: strings, listas e arrays; objectos mutáveis e não mutáveis. - Tipos de dados II: tuples, dicionários e objetos. - Condicionais: if, elif, else e operadores lógicos. - Funções: argumentos, número variável de argumentos, funções como argumentos, escopo léxico, funções anónimas, recursão. - Bibliotecas e módulos. - Input e Output: leitura de dados a partir do teclado, escrita de dados para no ecrã, leitura/escrita de dados de e para ficheiro - Programação orientada a objetos: classes e herança. - Teste de software.
Método de Avaliação
A avaliação de cada estudante é baseada num projeto de programação em várias fases e num exame final.
Carga Horária
Carga Horária de Contacto -
Trabalho Autónomo - 119.0
Carga Total -
Bibliografia
Principal
- Introduction to Computation and Programming using Python: John Guttag 2021 9780262542364
- Introduction to Python for Science & Engineering: David J. Pine 2019 9780429506413
Secundária
- Learning Python from O'Reilly: Mark Lutz 2013 9781449355739
- Python for Science and Engineering: Hans-Petter Halvorsen 2019 978-82-691106-5-4
- Python Programming: An Introduction to Computer Science: John Zelle 2016 9781590282755
- The Python Tutorial: Python Software Foundation 2020