-
Apresentação
Apresentação
Nesta Unidade Curricular (UC), mergulhamos nas bases essenciais da programação aplicada à Ciência de Dados. Aprimoramos a criação de algoritmos e a construção de estruturas de dados em Python, capacitando os estudantes para a manipulação (extração, transformação, armazenamento) e análise de dados, o cerne da Ciência de Dados. A UC pretende desenvolver a capacidade de abstração, o pensamento lógico e estruturado, além de aprimorar a mestria algorítmica. Mais do que isso, estimula o pensamento criativo e a capacidade de resolver problemas - competências fundamentais na formação de um cientista de dados. Estas bases sólidas constituem alicerces essenciais, preparando os estudantes para módulos mais avançados do mestrado
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Mestre | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
1 | Obrigatório | Português
-
Código
Código
ULP6914-23268
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
Introdução à programação em Python: sintaxe, tipos de dados, estruturas de controlo, funções e módulos Algoritmos e estruturas de dados em Python; resolução de problemas e considerações de desempenho Gestão de ficheiros, formatos de dados e técnicas de visualização de dados Programação orientada a objetos: princípios de conceção, classes, herança e reutilização Conceitos de programação funcional em Python Pré-processamento de dados e engenharia de características Treino, inspeção, validação e avaliação de modelos com Python Algoritmos de regressão e classificação; seleção e comparação de modelos Modelos de caixa branca e caixa negra; interpretabilidade de modelos Análise de séries temporais e métodos de previsão Mineração de texto: pré-processamento, extração de características e introdução a modelos de linguagem de grande escala Métodos de clustering e aprendizagem não supervisionada Descoberta de padrões frequentes e regras de associação
-
Objetivos
Objetivos
Esta Unidade Curricular tem os seguintes Objetivos de Aprendizagem (OA): OA1. Conhecimentos Fundamentais em Programação: Compreensão sólida dos princípios da programação. Familiaridade proficiente com a linguagem Python. OA2. Aptidões para Resolução de Problemas: Analisar e decompor problemas complexos em partes menores, permitindo uma compreensão mais clara e uma abordagem mais controlada. Abstração eficaz para isolar elementos cruciais e identificar estruturas de dados adequadas. Raciocínio lógico, identificando padrões e tomando decisões fundamentadas. OA3. Competências em Manipulação de Dados: Coleta, limpeza e transformação (ETL) de dados para análise. Criação de algoritmos eficientes para resolver desafios reais. OA4. Preparação para Módulos Avançados: Base sólida para explorar tópicos mais complexos em análise de dados. Desenvolvimento do pensamento crítico e criativo
-
Metodologias de ensino
Metodologias de ensino
M1: Ensino expositivo: A apresentação de conceitos teóricos é feita de forma expositiva através de slides. M2: Ensino ativo: os conceitos teóricos são demonstrados recorrendo a "live coding" pelo docente. M3: Aprendizagem experimental: São usadas fichas em Jupyter Notebook que permitem a experimentação imediata dos conceitos lecionados. M4: Aprendizagem participativa: Durante as aulas é estimulada a discussão em grupo dos exercícios e projetos semanais. M5: Auto-avaliação: foi desenvolvida uma plataforma que permite realizar quizzes para avaliação de todos os conhecimentos, cuja solução submetida é validada de forma automática. M6: Aprendizagem orientada a projeto: são realizados de forma autónoma exercícios e projetos semanais com desafios exploratórios de aspectos complementares. M7: Avaliação contínua: fichas semanais, quizzes, projetos, minitestes e frequencias.
-
Bibliografia principal
Bibliografia principal
Martins, P. (2019). Programação em Python. IST Press. 3ª Ed. Grus, J. (2015). Data science from scratch: first principles with python. O'Reilly Media, Inc.
-
Avaliação
Avaliação
Componente Descrição
Ponderação
Teórica-prática (TP) Frequência 50% Prática (P) Projeto de software 50%
-
Mobilidade
Mobilidade
Não





