-
Apresentação
Apresentação
Nesta Unidade Curricular (UC), mergulhamos nas bases essenciais da programação aplicada à Ciência de Dados. Aprimoramos habilidades na criação de algoritmos e na construção de estruturas de dados em Python, capacitando para a manipulação (extração, transformação, armazenamento) e análise de dados, o cerne da Ciência de Dados. Estrategicamente situada no primeiro semestre do mestrado, esta UC fomenta habilidades cruciais. Desenvolve 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 habilidade 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 | 7
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
1 | Obrigatório | Português
-
Código
Código
ULP6613-25230
-
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
Os Conteúdos Programáticos (CP) desta unidade curricular são os seguintes: CP1. Introdução à programação CP2. Introdução à linguagem Python e sua sintaxe CP3. Introdução aos ambientes de trabalho Jupyter Notebook, Google Collab e Moodle CodeRunner. CP4. Sintaxe do Python. Variáveis e operadores. Tipos de dados simples: numéricos; strings e seus métodos. CP5: Controlo de fluxo, com decisores e ciclos. CP6. Funções. Módulos e packages. CP7: Tipos de dados compostos: listas, tuplos, sets e dicionários CP8: Manipulação e gestão de ficheiros (texto, JSON, CSV). CP9: Visualização de dados com matplotlib. CP10: Programação funcional. Compreensões, lambda, map, filter, reduce. CP11: Programação orientada a objetos. Classes.
-
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: Habilidade de 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 e avaliação
Metodologias de ensino e avaliação
M1: Ensino expositivo: A apresentação de conceitos teóricos é feita de forma expositiva através de slides. Disponibilizam-se num canal Educast da FCCN video-tutoriais curtos desenvolvidos sobre os conceitos chave da disciplina. 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 frequências.
-
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.
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não