Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciências e Tecnologias da Programação
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
É esperado que os alunos tenham alguns conhecimentos de programação (conhecer as estruturas de dados mais comuns) e que consigam escrever programas simples na linguagem Python. Domínio razoável da língua inglesa.
Objetivos Gerais / Objectives
O principal objetivo desta UC é capacitar o estudante para uma utilização avançada da linguagem de programação Python, que lhe permita analisar e visualizar um conjunto de dados e extrair daí conhecimento. Uma forte ênfase é dada ao desenvolvimento de competências através da utilização de vários casos de estudo, particularmente interessantes para as finanças, economia e ciências empresariais.
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: Fazer um programa em Python que utilize variáveis, estruturas de controlo, listas e dicionários OA2: Utilizar a biblioteca numpy para criar e manipular vectores e matrizes OA3: Importar um ficheiro e calcular estatísticas sobre os seus dados OA4: importar, preparar e visualizar dados graficamente OA5: Criar um modelo preditivo e testar uma predição
Conteúdos Programáticos / Syllabus
Introdução Fundamentos CP1: Tipos, estruturas de dados, funções e objetos em Python CP2: Computação com arrays NumPy Análise e Visualização de Dados CP3: leitura, representação e gravação de dados CP4: Biblioteca Pandas e as suas principais estruturas de dados CP5: Agregação de dados, operações de grupo e Pivot tables CP6: Visualização gráfica de dados com matplotlib e seaborn Análise Estatística e Aprendizagem Automática CP7: Análise estatística e preditiva CP8: Introdução à Aprendizagem Automática: Estudo de caso
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
A interligação entre os conteúdos programáticos e os objetivos de aprendizagem (OA) é a seguinte: - OA1 e OA2: Relacionados com os conteúdos programáticos CP1 e CP2. - OA3: Abordado nos conteúdos programáticos CP3-CP5, cujos exercícios associados envolvem a leitura, agregação, manipulação e análise de dados. - OA4: Concretizado nos conteúdos programáticos CP3-CP6. - OA5: Concretizado nos conteúdos programáticos CP7 e CP8, que consistem na preparação de dados e na criação e avaliação de modelos preditivos.
Avaliação / Assessment
Avaliação ao longo do semestre: Teste Intermédio (25%) + PROJETO (25%, individual) + Teste Final (50%, após o fim das aulas). Avaliação por exame: Teste individual (50%, cobrindo toda a matéria) + prova prática (50%, a realizar em computador). A avaliação por exame ocorre sempre que o estudante optar por esta modalidade ou não tenha obtido nota positiva na avaliação ao longo do semestre. Pode ser realizada na 1ª época, 2ª época ou época especial (Artº 14 do RGACC). A nota final do PROJETO é fixada para cada aluno através de uma prova oral e dependerá do código, documentação apresentada e do desempenho do aluno na oral. As perguntas dos testes podem envolver aspetos relativos ao trabalho. Nenhum dos componentes de avaliação requer um nota mínima.
Metodologias de Ensino / Teaching methodologies
Esta unidade curricular está estruturada em aulas teórico-práticas. Além da assiduidade às aulas espera-se do aluno um tempo de trabalho autónomo para consulta da bibliografia, revisão de matéria dada, resolução de exercícios propostos e resposta a problemas para avaliaçã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
As metodologias de ensino, que incluem aulas teórico-práticas e trabalho autónomo, estão diretamente alinhadas com os objetivos de aprendizagem. As aulas teórico-práticas fornecem a base teórica e a oportunidade de aplicar conhecimentos em exercícios práticos, essencial para alcançar objetivos, tais como desenvolver programas em Python (OA1), utilizar a biblioteca NumPy (OA2) e importar e visualizar dados (OA3 e OA4). O trabalho autónomo, através da consulta da bibliografia, revisão da matéria e resolução de exercícios, reforça a compreensão dos conceitos e prepara os alunos para problemas mais complexos, tais como criar e testar modelos preditivos (OA5). A avaliação ao longo do semestre, composta por teste intermédio, projeto e teste final, e a avaliação por exame, que inclui um teste individual e uma prova prática, garantem que os alunos tenham uma compreensão abrangente e integrada dos conteúdos. O teste intermédio e o teste individual avaliam os conhecimentos básicos e intermédios (OA1 e OA2), enquanto que o projeto e a prova prática testam a aplicação de conceitos avançados, como a manipulação de dados e a criação de modelos preditivos (OA3, OA4 e OA5). Desta forma, a combinação das metodologias de ensino e de avaliação assegura que os estudantes desenvolvem tanto a compreensão teórica quanto as competências práticas necessárias.
Observações / Observations
Bibliografia Principal / Main Bibliography
- Python Data Science Handbook: Essential Tools for Working with Data (1st ed.) (2016). Jake VanderPlas. O'Reilly Media, Inc. - Ciência Dos Dados Nas Organizações - Aplicações Em Python (2017), José Braga de Vasconcelos e Alexandre Barão, FCA Editora.
Bibliografia Secundária / Secondary Bibliography
Making Sense of Data I: A Practical Guide to Exploratory Data Analysis and Data Mining, Second Edition (2014). Glenn J. Myatt and Wayne P. Johnson. Published by John Wiley & Sons, Inc.
Data da última atualização / Last Update Date
2024-07-29