Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04609
Acrónimo :
PAD
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
--

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
24.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
125.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


NA

Objetivos Gerais / Objectives


Esta unidade curricular tem dois objetivos. O primeiro visa dotar os alunos de capacidades fundamentais de programação em Python. O segundo introduz o processamento, análise e exploração de dados em vários domínios, no contexto da ciência de dados e da mineração de dados, com o objetivo de capacitar os alunos a extrair conhecimento a partir de dados. Os alunos irão adquirir competências de análise, exploração e visualização de dados usando Python e irão desenvolver uma base sólida em algoritmos de aprendizagem automática, para problemas de previsão (classificação, regressão, séries temporais) e agrupamento, usando aplicações práticas baseadas em problemas reais. Considerações éticas em análise de dados e tendências emergentes nos campos da ciência de dados e aprendizado de máquina também serão exploradas.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1 Introdução à linguagem de programação Python. OA2 Compreender os princípios da ciência de dados e da mineração de dados e compreender e saber aplicar o modelo Cross-Industry Standard Process for Data Mining (CRISP-DM) em casos práticos, incluindo a compreensão do negócio e dos dados e a preparação dos dados para modelação. OA3 Saber executar e depurar aplicações em Python e utilizar as bibliotecas fundamentais em casos práticos de preparação, exploração, visualização e análise de características dos dados. OA4 Compreender os algoritmos de aprendizagem automática, em problemas supervisionados de previsão (classificação, regressão, séries temporais) e problemas não supervisionados de agrupamento, e saber aplicá-los e avaliar o seu desempenho em problemas práticos, usando a linguagem Pyhton, no contexto da metodologia CRISP-DM. OA5 Compreender e saber aplicar considerações éticas e de privacidade na análise de dados e discutir as tendências futuras neste domínio.

Conteúdos Programáticos / Syllabus


P1 Introdução à linguagem de programação (Python 3) P2 Ambientes de desenvolvimento em Python P3 Primitivas de controlo, variáveis, expressões e declarações. Objetos e classes de objetos. Funções, módulos e pacotes P4 Operações sobre ficheiros. Interpretação de dados JSON, XML. Operações sobre bases de dados. Web scrapping P5 Introdução à ciência dos dados, ao ciclo dos dados e à mineração de dados. Modelo CRISP-DM P6 Técnicas de preparação e limpeza de dados P7 Análise exploratória e visualização de dados P8 Seleção e engenharia de características relevantes dos dados P9 Métodos de previsão em aprendizagem automática (classificação, regressão, séries temporais). Algoritmos essenciais, incluindo a sua avaliação com métricas de desempenho P10 Métodos de agrupamento em aprendizagem automática. Algoritmos essenciais P11 Considerações éticas: privacidade, segurança e tratamento responsável de dados P12 Tecnologias emergentes e seu impacto na análise de dados

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Cada conteúdo programático (Px) abrange tópicos essenciais relacionados com cada objetivo de aprendizagem (OAx). Os conteúdos P1, P2, P3 e P4, referem-se à introdução à linguagem Python (OA1). O conteúdo P5 inclui a introdução à ciência dos dados e mineração de dados, com um foco no modelo CRISP-DM (OA2). Os conteúdos P6, P7 e P8, referem-se a exemplos práticos de preparação, exploração, visualização e análise de características dos dados, usando Python (OA3). P9 e P10 abordam os diversos métodos de previsão e agrupamento e respetivos algoritmos de aprendizagem automática, com aplicação e avaliação em Python (OA4). Por fim, P11 e P12, tratam de considerações éticas e da discussão de tecnologias emergentes e seu impacto na análise de dados (OA5). A coerência assegura que os estudantes desenvolvam competências para a utilização eficaz da linguagem Python em problemas de análise de dados, usando mineração de dados (CRISP-DM) e algoritmos avançados de aprendizagem automática.

Avaliação / Assessment


UC com Avaliação Periódica, não contemplando Exame Final. Pesos da avaliação: Trabalhos individuais, 80% obrigatórios (25%) Projeto laboratorial (grupo de 2), com discussão oral individual (50%) 2 mini-testes de resposta múltipla (25%) Se reprova na época normal (< 10 val) o aluno acede ao exame de 1º ou 2ª épocas, valendo 50% da nota, sendo obrigatória a aprovação no Projeto em grupo ou a realização de um projeto individual (50%).

Metodologias de Ensino / Teaching methodologies


Esta UC adotará como metodologia de ensino e aprendizagem central a aprendizagem baseada em tarefas, combinada com aprendizagem baseada em projetos. A tutoria entre pares e a gamificação serão utilizadas como estratégias de motivação e envolvimento dos estudantes. Esta abordagem pedagógica está articulada com o modelo pedagógico do Iscte pois o estudante é considerado um agente ativo no seu processo de aprendizagem, o conhecimento é visto como uma ferramenta para a construção e desenvolvimento de mais conhecimento (conhecimento fundamental) e o ensino é centrado na aquisição de conhecimento e no desenvolvimento de competências.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


As metodologias de ensino foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente, desenvolver um projeto em grupo, aplicar conhecimentos teóricos e desenvolver competências de resolução de problemas e pensamento crítico. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas e projetos. Esta abordagem permitirá que os estudantes estabeleçam conexões entre os conhecimentos teóricos e práticos, melhorando a compreensão e a aplicação dos conceitos aprendidos. Como estratégia de motivação, a unidade curricular incluirá a gamificação ao longo do semestre, onde serão atribuídos pontos à medida que as tarefas e o projeto forem resolvidos e entregues com sucesso.

Observações / Observations


--

Bibliografia Principal / Main Bibliography


Larose, D., Larose, C., Data Mining and Predictive Analytics, 2015, 2nd Edition, John Wiley & Sons Hastie, T.; Tibshirani, R., Friedman, J., The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2017, 2nd ed. New York: Springer Ethem Alpaydin, Introduction to Machine Learning, 2010, MIT Press.ISBN 026201243X Reitz. K., Schlusser, T., The Hitchhiker's Guide to Python: Best Practices for Development,, 2016, 1st Edition, ISBN-13: 978-1491933176, https://docs.python-guide.org/ Martins, J. P., Programação em Python: Introdução à programação utilizando múltiplos paradigmas, 2015, IST Press, ISBN: 9789898481474

Bibliografia Secundária / Secondary Bibliography


Zelle, J., Python Programming: An Introduction to Computer Science, 2016, Franklin, Beedle & Associates Inc, ISBN-13 ‏ : ‎ 978-1590282755 Matthes, E., Python Crash Course, 2Nd Edition: A Hands-On, Project-Based Introduction To Programming, 2019, No Starch Press,US, ISBN-13 ‏ : ‎ 978-1593279288 Beazley, D., Jones, B., Python Cookbook: Recipes for Mastering Python 3, 2013, O'Reilly Media, ISBN-13 ‏ : ‎ 978-1449340377 Neto, J. P., Programação, Algoritmos e Estruturas de Dados, 2016, Escolar Ed., 3ª Edição. ISBN: 9789725924242

Data da última atualização / Last Update Date


2024-02-16