2023

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, Inglês
Regime de Frequência: Presencial

Objetivos de Desenvolvimento Sustentável

Objetivos de Aprendizagem

Pretende-se dotar o aluno dos conceitos e métodos base de programação, a utilizar, potencialmente, em computação numérica. Recorre-se à linguagem Python “procedimental”, com base nas figuras de programação estruturada, estruturas de dados nativos e vetores/matrizes. Introduzem-se, com exemplos e exercícios dados nas aulas práticas, alguns dos padrões básicos de programação imperativa, e um primeiro contacto com cálculo científico. Com base nos conhecimentos adquiridos os alunos deverão ser capazes de caminhar para a construção/alteração de programas mais complexos e aprender com facilidade outras linguagens/sistemas/produtos utilizados em ambientes científicos (Fortran, C, Maple, Matlab, etc) e evoluir, se necessário, para o paradigma de programação “object oriented”.

Conteúdos Programáticos

Introdução à programação em Python.
Utilização do interpretador em modo script e interativo.
Variáveis, expressões e instruções.
Definição e Uso de Funções.
Estruturas de controlo.
Estruturas de dados nativas.
Estruturas de dados sequenciais: listas, tuplos e strings.
Estruturas de dados associativas: dicionários.
Conceitos básicos de input/output (I/O).
Manipulação de ficheiros.
Interface gráfica.
Recurso a bibliotecas / módulos.
Bibliotecas com funcionalidade avançada para cálculo científico.
Desenvolvimento de programas

Métodos de Ensino

Aulas teóricas; aulas práticas com problemas que acompanham a matéria teórica. Disponibilização de uma série de
exercícios, de dificuldade incremental, cobrindo os tópicos ensinados, para os alunos praticarem o seu domínio da
matéria.

A avaliação é constituída por dois componentes: (i) testes intercalares (avaliação contínua) ou um exame final
(avaliação por exame); (ii) desenvolvimento de um pequeno projeto de programação. O componente (i) vale 75% na nota final e o componente (ii) 25%. O aluno pode escolher entre avaliação contínua ou por exame.

Avaliação

 


A Avaliação da Disciplina tem as componentes:

(i) 3 frequências ou testes intercalares, por escrito, ou um exame final escrito;

(ii) desenvolvimento de um pequeno projeto de programação.

Bibliografia

Think Python - How to Think Like a Computer Scientist
Allen Downey
Maio de 2012


Introduction to Python for Econometrics, Statistics and Data Analysis
Kevin Sheppard
University of Oxford, 2013


PYTHON PROGRAMMING - AN INTRODUCTION TO COMPUTER SCIENCE
John M. Zelle
2004