Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
15.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 :
37.0h/sem
Trabalho Autónomo :
113.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


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 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


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