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.
- 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.
- 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.
- 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
- 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
Programação em Python - Fundamentos e Resolução de Problemas - Ernesto Costa, FCA
Equipa Docente (2024/2025 )
- António Manuel Ribeiro dos Anjos [responsável]
- Ruben Jose Ferreira Teimas