2025

Programação

Nome: Programação
Cód.: INF00878L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica: Informática

Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português

Objetivos de Desenvolvimento Sustentável

Objetivos de Aprendizagem

Esta unidade curricular visa desenvolver nos estudantes conhecimentos, aptidões e competências fundamentais para compreenderem os princípios da programação e aplicá-los de forma prática em diferentes contextos, recorrendo à linguagem de programação Python. Dentre os principais objetivos, estão implícitos:
- Saber criar programas para resolver uma variedade de problemas computacionais.
- Conseguir fazer parsing de texto para processar e extrair informações relevantes.
- Obter as bases para saber processar dados em ficheiros para manipulação e análise.
- Saber produzir gráficos para visualização de dados.
- Conhecer e utilizar bibliotecas de computação científica para implementar algoritmos e técnicas avançadas.

Conteúdos Programáticos

- Introdução à programação: algoritmos, variáveis, tipos de dados, operadores aritméticos, valores e operadores lógicos, operadores relacionais.
- Estruturas de controlo: seleção, repetição, tomar decisões.
- Estruturas de dados: listas, tuplos, dicionários, conjuntos.
- Trabalhar com texto: manipulação de strings, fazer parsing de texto.
- Funções e modularidade.
- Utilização e criação de módulos.
- Métodos (e classes).
- Repetição de instruções (em ciclo).
- Trabalhar com ficheiros (I/O).
- Gráficos.
- Bibliotecas de computação científica.

Nota: A ordem pode variar.

Métodos de Ensino

- Aulas teóricas expositivas, com recurso a multimédia, para apresentação dos conceitos fundamentais.
- Aulas práticas laboratoriais para aplicação dos conceitos aprendidos através da resolução de problemas, que podem incluir breves mini-problemas avaliados.

Avaliação

Regime de avaliação contínua:
- 70%: Frequências (2 ou 3; que podem incluir exercícios realizados em computador).
- 15%: Mini-problemas (de curta duração; durante as aulas práticas; apenas 75% dos mini-problemas realizados contam para a nota).
- 15%: Projeto (que pode incluir relatório, código, e defesa oral).

Regime de avaliação final:
- 85%: Exame.
- 15%: Projeto (que pode incluir relatório, código, e defesa oral).

Há nota mínima de 7,5/20 para: cada frequência; média dos mini-problemas; projeto; exame

Bibliografia

Practical Programming, Third Edition - An Introduction to Computer Science Using Python 3.6 - Paul Gries, Jennifer Campbell, Jason Montojo

Programação em Python - Fundamentos e Resolução de Problemas - Ernesto Costa, FCA

Equipa Docente (2024/2025 )