Técnicas Avançadas de Programação

Tecnologias de Informação e Comunicação
5 ECTS; 2º Ano, 2º Semestre, 30,0 PL + 30,0 TP

Docente(s)
- Ricardo Nuno Taborda Campos

Pré-requisitos
n.a.

Objetivos
Esta unidade curricular tem por objectivo introduzir os alunos à programação de computadores usando a linguagem Python. Ao concluir esta unidade o estudante deverá:
1) ser capaz de codificar algoritmos elementares na linguagem Python;
2) ter conhecimento das principais bibliotecas existentes em Python;
3) saber escrever e estruturar programas em Python para resolver problemas simples;
4) saber automatizar rotinas com recurso a estruturas de controlo e iteração;
5) ser capaz de escrever e guardar ficheiros de texto e documentos web;
6) saber decompor problemas em sub-tarefas com recurso a funções reutilizáveis, anónimas e recursivas;
7) estar capacitado para testar e corrigir erros em programas;
8) estar familiarizado com as principais noções da programação orientada a objetos

Programa
1. Conceção de Algoritmos
2. Introdução ao Python
3. Utilização de Bibliotecas
4. Entrada e Saída de Informação
5. Variáveis
6. Operações Aritméticas
7. Tipos de Dados: int; string; char; bool
8. Estruturas de Dados: Arrays; Listas; Dicionários; Tuplos; Conjuntos
9. Estruturas de Controlo
10. Leitura e Escrita de Ficheiros
11. Funções
12. Recursão
13. Exceções
14. Introdução à POO

Metodologia de avaliação
Avaliação periódica: Frequência (60%) + Mini Teste I (10%) + Mini Teste II (15%) + Mini Teste III (15%)

Avaliação Final:Exame(100%)

Os alunos ficam automaticamente reprovados e excluídos de exame no caso de obterem nota final inferior a 6 valores

Bibliografia
- Costa, E. e , . (2016). Programação em Python - Fundamentos e Resolução de Problemas . Lisboa: FCA
- Liang, D. (2012). Introducing to Programming using Python. NA: NA
- Severance, C. (0). Python for Everybody - Exploring Data Using Python 3.Acedido em16 de fevereiro de 2018 em http://do1.dr-chuck.com/pythonlearn/EN_us/pythonlearn.pdf
- Downey, A. (0). Think Python - How to Think Like a Computer Scientist.Acedido em16 de fevereiro de 2018 em http://greenteapress.com/wp/think-python

Método de interação
Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais.
Aulas práticas de resolução de casos práticos e aplicação dos conceitos a cenários de utilização real.

Software utilizado nas aulas
Python - Anaconda
Jupyter Notebooks
Moodle – plataforma de eLearning do IPT, Centro de eLearning