Código:
16132
Ano:
1
Semestre:
S1
Créditos ECTS:
6
Carga Horária:
PL(30H)/T(30H)
Área Científica:
Sistemas e Computadores
Objectivos de Aprendizagem:
Esta UC tem por objetivo que o aluno (i) compreenda tipos de dados e a sintaxe usada em Python; (ii) desenvolva e estruture programas dinâmicos em Python, com recurso a estruturas de dados pertinentes; (iii) tenha capacidade de estruturar/segmentar programas em Python com vista à partição de funcionalidades para resolução de problemas; e (iv) saiba ler e produzir ficheiros, lidando com erros e exceções decorrentes da execução do programa, bem como complementar as funcionalidades de programas com bibliotecas externas de Python. Em termos de competências, pretende-se que o aluno seja capaz de: estruturar o pensamento abstrato para compreender problemas em linguagem natural e convertê-lo num programa em Python; escrever programas dinâmicos em Python, e lidar com erros/exceções decorrentes da execução destes; segmentar programas para partição de funcionalidades com base no problema a resolver; e utilizar estruturas de dados e bibliotecas adequadas à resolução de problemas.
Conteúdos programáticos:
1. Introdução à Programação em Python
2. Tipos de Dados Básicos
3. Testes e Condições
4. Iterações (Instruções de Repetição)
5. Estrutura de Dados: Listas e Dicionários
6. Iterações a Estruturas de Dados
7. Funções
8. Classes
9. Bibliotecas Python
10. Leitura e Escrita de Ficheiros
11. Testes e Exceções
Metodologias de Ensino e Critérios de Avaliação:
Os conteúdos desta UC são expostos por recurso aos métodos expositivo e demonstrativo, permitindo a apresentação de informação relevante para que os alunos possam assimilar os conceitos introduzidos e aplicá-los através da realização de exercícios práticos. Avaliam-se as componentes teóricas e práticas recorrendo a 2 provas de avaliação de aferição de conhecimentos (P1 e P2), com igual peso, cujo a classificação final (CF) do aluno em período de ensino-aprendizagem é expressa por:

CF = 0,5 x P1 + 0,5 x P2

O aluno é aprovado caso obtenha uma classificação superior ou igual a 9.5. Em caso de aprovação no período ensino-aprendizagem, o aluno é dispensado de exame, embora possa melhorar a sua CF, i.e., a nota final corresponde à melhor classificação entre o exame e o período de ensino-aprendizagem. Em suma:

CF < 5,5 (em 20) => Reprovado e Não Admitido a Exame
CF >= 9,5 (em 20) => Aprovado e Dispensado de Exame
Restantes casos => Reprovado e Admitido a Exame
Bibliografia principal:
Portela, F. and Pereira, T. (2024). Introdução à Algoritmia e Programação em Python. FCA
Sobral, S. (2023). Introdução à Programação usando Python. Silabo.
Carvalho, A. (2021). Práticas de Python - Algoritmia e Programação. FCA.
Matthes, Eric. (2019). Python Crash Course, 3rd Edition. No Starch Press, 2023. 2ª Edição
Downey, A. (2015). Think Python - How to Think Like a Computer Scientist. O'Reiley. Green Tea Press
Severance, C. (2013). Python for Everybody - Exploring Data Using Python
Miller, B., and Ranum, D. (2011). Problem Solving with Algorithms and Data Structures using Python: Interactive Edition
Língua:
Português