Programação

Ano
1
Ano lectivo
2020-2021
Código
03018724
Área Científica
Tecnologias da Informação e Comunicação
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
E-learning
Créditos ECTS
10.0
Tipo
Obrigatória
Nível
3º Ciclo - Doutoramento

Conhecimentos de Base Recomendados

Conhecimentos de grupos obtidos num primeiro curso de Álgebra a nível de licenciatura.   

Métodos de Ensino

Em função da natureza tecnológica da unidade curricular o processo de ensino/aprendizagem observa uma abordagem de aprendizagem teórico-prática colaborativa online, em turma virtual, que se baseia na realização de trabalhos práticos individuais e em grupo, e cujos resultados serão apresentados online durante o decurso da UC, para assegurar a complementaridade recíproca entre a teoria e a prática.

A ponderação dos elementos e critérios de avaliação das aprendizagens serão objecto de negociação entre professor e alunos.

Resultados de Aprendizagem

Esta unidade curricular visa proporcionar os conhecimentos e competências fundamentais em programação com uma linguagem multi-paradigma, tendo em conta a sua versatilidade e aplicabilidade aos mais variados ambientes (linha de comandos, interfaces gráficas, web, cloud).
Ao concluir esta UC o aluno deverá ser capaz de:
- Identificar as potencialidades de uma linguagem de programação na sua aplicação a um problema, inserido num contexto/ambiente específico; - Conhecer com profundidade os princípios, mecanismos, sintaxe e semântica de uma linguagem de programação multi-paradigma particular (Python);
- Analisar e desenvolver programas eficazes e que aproveitem as potencialidades da linguagem de trabalho;
- Integrar em pacotes de software, de forma transparente ao utilizador, duas ou mais componentes de diversas tecnologias/linguagens.    

Estágio(s)

Não

Programa

1. Introdução ao Python
1.1. História da linguagem
1.2. Paradigmas de programação
2. Sintaxe e estruturas de controlo
2.1. Sintaxe e semântica do Python
2.2. Fluxo de controlo
3. Estruturas de Dados
3.1. Listas e sequências
3.2. Conjuntos
3.3. Dicionários
4. Objetos e encapsulamento
4.1. Funções e Módulos
4.2. Classes, objetos e métodos
5. Interoperabilidade
5.1. Leitura e escrita de ficheiros
5.2. Interação com o Sistema Operativo
5.2. Interação com a Internet
6. Introspecção em Python.  

Métodos de Avaliação

Avaliação
Exame: 30.0%
Trabalho de investigação: 35.0%
Resolução de problemas: 35.0%

Bibliografia

- "Python Documentation", http://www.python.org/doc/
- "Core Python Programming", Chun, W.; Prentice-Hall, ISBN-13: 978-0132269933
- "Programming Python", Lutz, M.; O'Reilly, ISBN-13: 978-0596158101
- "Beginning Python: Using Python 2.6 and Python 3.1", Payne, J.; Wrox, ISBN-13: 978-0470414637