Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03875
Acrónimo :
CECE
Ciclo :
2.º ciclo
Línguas de Ensino :
Inglês (en)
Língua(s) amigável(eis) :
Inglês, 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) :
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


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