Introdução à Programação e Resolução de Problemas

Ano
1
Ano lectivo
2021-2022
Código
01000043
Área Científica
Informática
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Conhecimentos básicos de matemática. Aptidões de pensamento lógico e abstração.

Métodos de Ensino

Esta uc está estruturada em uma aula T de 1h de duração, e em 2 aulas TP com 2h de duração. Nas aulas teóricas são apresentados os conceitos fundamentais da programação, a serem desenvolvidos nas aulas práticas. Os conceitos serão exemplificados com pequenos pedaços de código, mas a sua exercitação será dirigida à resolução de problemas. Este modelo permite efetuar a avaliação por recurso a duas componentes: mini testes (25%), e exame escrito sem consulta (75%).

Resultados de Aprendizagem

O objectivo principal é o de ensinar/aprender os princípios básicos da programação procedimental num contexto de resolução de problemas. Sendo a linguagem de programação apenas um veículo de expressão das soluções algorítmicas, e, desse ponto de vista todas serem equivalentes, optou-se por uma linguagem, Python, que permite minimizar as dificuldades de sintaxe e que ao mesmo tempo induz boas práticas de programação.

Espera-se que os alunos desenvolvam capacidades de análise e de síntese, de resolução de problemas, de raciocínio crítico, de aplicação prática dos conhecimentos adquiridos, e ainda competências informáticas relacionadas com o âmbito de estudo. Também se pretende fomentar a aprendizagem autónoma e o trabalho em grupo, as relações interpessoais, e a comunicação oral e escrita.

Estágio(s)

Não

Programa

1. Computadores, programas e computação
2. Conceitos Básicos: objetos simples e operadores
3. Instruções destrutivas
4. Instruções de controlo
5. Objetos estruturados: listas, tuplos e dicionários
6. Ficheiros
7. Recursividade
8. Complementos: alcance de variáveis, módulos, iteradores, geradores, funções de ordem superior
9. Desenvolvimento de programas

Docente(s) responsável(eis)

Nuno António Marques Lourenço

Métodos de Avaliação

Avaliação
Mini Testes: 25.0%
Exame: 75.0%

Bibliografia

- Programação em Python: fundamentos e resolução de problemas, Ernesto Costa, FCA 2015.
- Python: programming in context, B. Miller and D. Ranum, Jones and Bartlett, 2009.
- Learning Python (4th edition), M. Lutz, O’Reilly, 2009.

- Introduction to Computation and Programming using Python, John V. Guttag, 2012

- Python Playground, Mahesh Venkitachalam, No Starch Press, 2016,

- Introduction to Python for Science and Engineering, David J. Pine, CRC Press, 2019.

- An Introduction to Python and Computer Prtogramming, Yue Zhasng, Springer, 2015.

- Python Crash Course, Eric Matthes, No Starc Press, 2016.