Programação II
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2021/2022 - 2S

Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
O objectivo da cadeira é desenvolver a capacidade de utilizar uma linguagem de programação para desenvolver programas complexos e automatizar tarefas práticas de exploração de dados, e oferecer uma introdução à extracção, processamento, e visualização de dados.
Resultados de aprendizagem e competências
O estudante deverá ser capaz de:
- Utilizar com confiança as estruturas de dados básicas do Python.
- Programar com o nível adequado de abstracção e encapsulamento.
- Produzir código correcto, bem estruturado e bem documentado.
- Extrair e processar dados de fontes diversas em diferentes formatos.
- Utilizar bibliotecas externas para visualização de dados numéricos e geográficos.
Nota: nesta unidade curricular a programação é feita utilizando a linguagem Python.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
É preferencial alguma familiaridade básica com a linguagem Python e o seu ambiente de desenvolvimento, tal como constante no programa da Unidade Curricular de
Programação I.
Programa
Revisão do Python. Tipos básicos do Python. Tipos de dados para coleções: listas, tuplos, dicionários e conjuntos. Definição de novos tipos: noção de classe, objetos e métodos. Estruturação de código utilizando módulos.
Três princípios básicos de programação: encapsulamento, abstracção, e separação de conceitos.
Introdução à extracção e processamento de dados. Leitura de dados textuais em diferentes formatos e conversão em estruturas de dados Python. Manipulação e tratamento de dados programaticamente.
Introdução à visualização de dados. O uso de bibliotecas externas. Visualização de informação numérica e geoespacial.
Bibliografia Obrigatória
Allen Downey;
How to think like a computer scientist. ISBN: 0-9716775-0-6
Bibliografia Complementar
Daniel Y. Chen; Pandas for Everyone, Addison-Wesley
Métodos de ensino e atividades de aprendizagem
- Aulas teóricas em parte expositivas e em parte demonstrativas da resolução de problemas.
- Aulas práticas em laboratório.
- Trabalhos de casa.
Software
Pycharm Community Edition 2020
Palavras Chave
Ciências Físicas > Ciência de computadores > Programação
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Trabalho prático ou de projeto |
70,00 |
Prova oral |
30,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
106,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Obtenção de frequência
Todos os estudantes inscritos na disciplina obtêm a frequência.
Fórmula de cálculo da classificação final
A avaliação será feita através de um trabalho prático individual (70%), a ser desenvolvido durante as aulas práticas e incluindo tarefas adicionais de trabalho de casa. Está prevista também uma prova oral para defesa do trabalho (30%).
A nota final será a soma das notas do trabalho e da prova oral.
Melhoria de classificação
O trabalho prático pode ser melhorado e entregue em época de recurso, e nesse caso será exigida nova funcionalidade.