Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2022/2023
Pré-requisitos / Pre-Requisites
Fundamentos de programação. Matemática Aplicada I e II
Objetivos Gerais / Objectives
Esta UC tem dois objetivos. O primeiro visa dotar os estudantes de competências fundamentais de programação em Python. O segundo introduz o tratamento, análise e exploração dos dados, com o objetivo de habilitar os estudantes a retirar conhecimento a partir dos dados. Serão estudadas técnicas introdutórias de mineração de dados e de aprendizagem automática, para deteção de padrões e estruturas, classificação e previsão, usando aplicações práticas baseadas em problemas reais, programadas em Python.
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 Conhecer as características principais e funcionalidades da linguagem de programação Python OA2 Saber executar e depurar aplicações em Python OA3 Compreender os principios da ciência de dados e o modelo Cross-Industry Standard Process for Data Mining (CRISP-DM) OA4 Caracterizar as principais famílias de algoritmos usados em Aprendizagem Automática OA5 Saber recolher e preparar dados para modelação OA6 Compreender e saber explicar os fundamentos da aprendizagem supervisionada, não supervisionada e por reforço OA7 Conceber, desenvolver e testar técnicas algoritmicas de aprendizagem automática na resolução de problemas práticos e reais, em Python OA8 Desenvolver a autoaprendizagem, revisão por pares, trabalho em equipa, expressão verbal e oral
Conteúdos Programáticos / Syllabus
C1 Introdução à sintaxe e estrutura da linguagem de programação (Python 3) C2 Ambientes integrados de desenvolvimento em Python. Execução e depuração de programas C3 Primitivas de controlo, variáveis, expressões e declarações. Objetos e classes de objetos. C4 Funções, módulos e pacotes. C5 Operações sobre ficheiros. Interpretação dados JSON, XML C6 Operações sobre bases de dados. Web scrapping C7 Introdução à ciência dos dados. Discussão de problemas e casos práticos. Ciclo dos dados e exploração de dados C8 Tipos de aprendizagem automática C9 Modelo o Cross-Industry Standard Process for Data Mining (CRISP-DM) C10 Recolha e preparação de dados. Avaliação de resultados C11 Aprendizagem Não Supervisionada C12 Aprendizagem Supervisionada C13 Aprendizagem por Reforço
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
OA1 - {C1, C2, C3, C4, C5, C6} OA2 - {C1, C2, C3, C4, C5, C6} OA3 - {C7, C9} OA4 - {C8 } OA5 - {C10} OA6 - {C11, C12, C13} OA7 - {C9, C10, C11, C12, C13} OA8 - {C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13}
Avaliação / Assessment
Presença obrigatória do aluno em 90% de todas as atividades do curso. Pesos da avaliação: - Trabalhos práticos individuais, 8 dos quais obrigatórios (40%). - Projeto (em grupos de 2), com discussão oral (35%). - 25% - Mini-testes. O aluno dispensa o exame com 10 valores. Em caso de reprovação na época normal o aluno acede ao exame da época de recurso.
Metodologias de Ensino / Teaching methodologies
Total de 150 horas: - Aulas expositivas teórico-práticas: teoria,demonstrações, apresentações audiovisuais (12 h) - Aulas participativas: análise e discussão de casos de estudo,apresentações convidadas (3 h) - Aulas ativas: realização de exercícios, dos entregáveis do projeto de grupo e apresentação do projeto (21h) - Aula de apoio tutorial(1h) - Trabalho autónomo por parte do aluno: auto-estudo com apoio Coursera, revisão da matéria dada e realização dos entregáveis do trabalho de grupo (113h)
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
É a seguinte a correspondência entre as metodologias de ensino-aprendizagem e os objetivos de aprendizagem (OA): Aulas expositivas para apresentação oral das unidades de ensino teóricas: OA1 + OA2 + OA3 + OA4 + OA5 + OA6. Aulas participativas com análise e discussão de casos de estudo: OA2 + OA3 + OA4 + OA5 + OA6. Aulas ativas com a realização de exercícios práticos e dos entregáveis relativos ao projeto de grupo: OA1 + OA2 + OA3 + OA4 + OA5 + OA6 + OA7 + OA8 Autoestudo e trabalho autónomo, para consulta da bibliografia, revisão de matéria dada e realização dos entregáveis do trabalho de grupo: OA1 + OA2 + OA3 + OA4 + OA5 + OA6 + OA7 + OA8
Observações / Observations
--
Bibliografia Principal / Main Bibliography
Larose, D., Larose, C. Data Mining and Predictive Analytics. 2nd Edition, John Wiley & Sons. 2015 Hastie, T.; Tibshirani, R., Friedman, J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. New York: Springer. 2017 Ethem Alpaydin. Introduction to Machine Learning. MIT Press (2010).ISBN 026201243X. Kenneth Reitz, Tanya Schlusser, The Hitchhiker's Guide to Python: Best Practices for Development, 1st Edition, 2016, ISBN-13: 978-1491933176, https://docs.python-guide.org/ João P. Martins, Programação em Python: Introdução à programação com múltiplos paradigmas, IST Press, ISBN: 9789898481474. 2015
Bibliografia Secundária / Secondary Bibliography
John Zelle, Python Programming: An Introduction to Computer Science, Franklin, Beedle & Associates Inc, 2016, ISBN-13 ? : ? 978-1590282755 Eric Matthes, Python Crash Course, 2Nd Edition: A Hands-On, Project-Based Introduction To Programming, No Starch Press,US, 2019, ISBN-13 ? : ? 978-1593279288 David Beazley, Brian Jones, Python Cookbook: Recipes for Mastering Python 3, O'Reilly Media, 2013, ISBN-13 ? : ? 978-1449340377 João Pedro Neto, Programação, Algoritmos e Estruturas de Dados, Escolar Ed., 3ª Edição, 2014. ISBN: 9789725924242
Data da última atualização / Last Update Date
2024-02-16