IPT Logotipo do IPT

Informática e Tecnologias Multimédia

Técnicas Avançadas de Programação

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho n.º 9184/2020 - 25/09/2020

6 ECTS; 2º Ano, 2º Semestre, 42,0 PL + 28,0 TP + 5,0 OT , Cód. 814315.

Docente(s)
- José Paulo da Costa Rêgo (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Preferencialmente o aluno deverá ter tido aproveitamento à UC de Linguagens de Programação.

Objetivos
Esta unidade curricular tem como objetivo aprofundar os conhecimentos dos alunos em programação Python, abordando tópicos avançados e técnicas essenciais para o desenvolvimento de software robusto e eficiente. Ao concluir com sucesso a UC o aluno deverá ser capaz de:

1) Interpretar e mapear problemas para estruturas de dados orientadas a objetos;
2) Utilizar tipos avançados de dados
3) Obter dados a partir de vários tipos de fontes: ficheiros, bases de dados SQL e noSQL, construir e manipular datasets;
4) Implementar sistemas modulares com tratamento de erros e exceções;
5) Implementar uma API RESTFul;
6) Otimizar a performance dos seus sistemas através de programação paralela
7) Utilizar bibliotecas de ciência de dados

Programa
1. Interpretação e mapeamento de problemas para estruturas de dados
1.1 Interpretação semântica dos problemas
1.2 Definição de estruturas de dados com base no problema
1.3 Boas práticas na definição dos modelos de dados

2. Utilização de tipos avançados de dados
2.1 Listas e Tuplas
2.2 Dicionários e Conjuntos
2.3 Estruturas de dados personalizadas
2.4 Arrays
2.5 Coleções

3. Obter dados a partir de vários tipos de fontes: ficheiros, SQL e noSQL
3.1 Leitura e escrita de ficheiros
3.2 Base de dados relacional (SQL)
3.3 Base de dados não relacional (noSQL)
3.4 Integração de dados
3.5 Automatização de processos na obtenção de dados

4. Construção de sistemas modulares com tratamento de erros e exceções
4.1 Construção de sistemas modulares
4.2 Tratamento de erros e exceções
4.3 Exceções personalizadas

5. Implementação de APIs RESTFul
5.1 Conceitos básicos
5.2 Criação de APIs RESTful
5.3 Autenticação e Autorização

6. Uso da programação paralela na otimização dos sistemas
6.1 Conceitos básicos
6.2 Threads
6.3 Sincronização e comunicação entre threads

7. Utilização de bibliotecas de ciência de dados
7.1 Pandas
7.2 NumPy
7.3 Matplotlib e Seaborn
7.4 Scikit-learn

Metodologia de avaliação
Avaliação por frequência: [Trabalhos práticos semanais (30%) + Projeto I (30%)] + Projeto II (40%). Os alunos deverão ter, em cada um dos elementos de avaliação, uma nota mínima de 6 valores. A classificação final da UC resulta da média ponderada das classificações obtidas nas componentes de avaliação definidas. O aluno obtém aprovação à UC, estando dispensado de Exame, de acordo com o disposto nos Pontos 11 e 12, do Artigo 11º, do regulamento Académico do IPT.

Avaliação por exame: Exame (100%) [Entrega e discussão de trabalho prático]. O aluno obtém aprovação à UC, estando dispensado de Exame, de acordo com o disposto nos Pontos 11 e 12, do Artigo 11º, do regulamento Académico do IPT.

Requisitos de admissibilidade à frequência:
(i) Mínimo de 2/3 de assiduidade às aulas - exceto trabalhadores estudantes - de acordo com o ponto 5 do artº 8º.
(ii) As presenças em aula não são classificadas com nota, constituem, no entanto, condição necessária para aprovação à UC por frequência. O incumprimento deste item impede o aluno de se submeter à frequência.

Bibliografia
- Araujo, R. e , . (2021). Uma revisão teórica sobre a arquitetura de microsserviços. (pp. 1-944). Brasil: Universidade Tecnológica Federal do Paraná
- Salvaris, M. e Dean, D. e Tok, W. (2018). Deep Learning with Azure – Building and Deploying Artificial Intelligence Solutions on the Microsoft AI Platform. (Vol. 1). (pp. 1-500). USA: APress
- Sousa, L. e , . e , . e , . (2023). Web Semântica: Como os algopritmos podem influenciar na recuperação de informação. (pp. 1-297). Brasil: Universidade Federal Fluminense

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

Software utilizado nas aulas
IntelliJ IDEA
Moodle: plataforma de eLearning do IPT, Centro de eLearning

 

Aprovado em Conselho Técnico Cientifico: Reunião de 01/04/2025

Download da Ficha da Unidade Curricular (FUC)

 

 


<< voltar ao Plano Curricular
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado