Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03488
Acrónimo :
03488
Ciclo :
2.º ciclo
Língua(s) de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
1
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


2025/2026

Pré-requisitos / Pre-Requisites


Conhecimentos elementares de Matemática (cálculo, álgebra e lógica clássica básica).

Objetivos Gerais / Objectives


Esta unidade curricular tem como principais objectivos o desenvolvimento de competências e conhecimento de recursos para usar a linguagem de programação Python com foco na sua utilização na área de Ciência de Dados.

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


Após a conclusão desta unidade curricular o aluno deverá estar apto a: OA1. Desenvolver funções/procedimentos que implementem algoritmos simples. OA2. Desenvolver código para manipular estruturas de dados e objetos em Python. OA3. Desenvolver classes de objetos simples. OA4. Escrever e compreender código Python. OA5. Desenvolver código para extração e recolha de dados de diversas fontes. OA6. Conhecer e saber usar as principais bibliotecas em Python para a Ciência de Dados.

Conteúdos Programáticos / Syllabus


CP1. Variáveis, tipos de dados primitivos, funções e parâmetros. CP2. Estruturas de controlo, invocação e recursividade. CP3. Procedimentos de input e output. CP4. Estruturas de dados em Python. CP5. Objetos simples e compostos e classes de objetos. CP6. Métodos de recolha de dados a partir de várias fontes. CP7. Introdução a metodologia e bibliotecas para Aprendizagem Automática. CP7. Objetos simples CP8. Classes de objetos CP9. Objetos compostos CP10. Classes de objetos compostos

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes


Os conteúdos programáticos estão alinhados com os objetivos de aprendizagem da UC através das seguintes dependências: OA1 está relacionado com CP1-CP4, dado que os conceitos são aplicados essencialmente por meio do desenvolvimento de funções e procedimentos. OA2 é abordado em CP3-CP5, cujos exercícios associados envolvem a manipulação de estruturas vetoriais, objetos e classes de objetos. OA3 concretiza-se com CP5, que consiste numa iniciação à programação orientada para objetos. OA4 é transversal à totalidade dos CP1-CP7, dado que apenas consegue ser atingido através da prática da programação em Python tendo em conta as diferentes primitivas disponíveis na linguagem. OA5 será atingido com CP6 que concretiza os métodos para construção de código para ETL. OA6 será abordado através dos CP3, CP4, CP6 e CP7, onde as bibliotecas principais irão sendo introduzidas.

Avaliação / Assessment


A avaliação é realizada ao longo do semestre, não contemplando a modalidade de avaliação por exame. Componentes da avaliação: a) TPCs (25%): 6 mini-testes ou exercícios; b) TESTE (40%): Prova escrita intercalar; c) PROJETO (35%): Projeto individual com apresentação e defesa oral; Nota mínima para aprovação: no conjunto dos TPCs e no elemento de PROJETO deve obter, pelo menos, 8 valores (em 20). A assiduidade não é requisito essencial de aprovação (mas contribui muito). Outra informação relevante: 1 - Não é possível obter aprovação apenas por meio da realização de exame final. 2 - Em caso de reprovação, o estudante poderá realizar o TESTE na época seguinte de exame, mas a nota das restantes componentes será mantida. 3 - Os alunos que pretendam realizar melhoria de nota devem contactar a coordenadora da UC, com uma antecedência mínima de 8 (oito) dias antes da data de avaliação de 1ª época. A melhoria poderá consistir numa prova oral e prática. 4 - Aprovação em Época Especial é realizada nas mesmas condições de (3) acima.

Metodologias de Ensino / Teaching methodologies


Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1: Expositivas, apresentação do enquadramento teórico. MEA2: Ilustrativas, para exemplificação dos conceitos teóricos em contextos de casos reais. MEA3: Argumentativas, com apresentação e discussão de trabalhos. MEA4: Ativas, com apresentação de trabalho individual.

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 são as necessárias para cumprir os objetivos de aprendizagem, bem como para estimular o espírito crítico e a apreensão de conhecimentos relevantes em Ciências e Tecnologias da Programação para o trabalho de um(a) Cientista de Dados. Os resultados de aprendizagem serão alcançados por meio de uma combinação de aulas expositivas, workshops e trabalho individual. Os processos de aprendizagem envolvem: - Conceitos-chave fornecidos. - Sessões de trabalho prático, nas quais os estudantes resolvem exercícios propostos. Uma vez que as técnicas pedagógicas a usar serão orientadas para a resolução de exercícios/problemas, as aulas estão classificadas maioritariamente como Teórico-Práticas e decorrem em salas BYOD/Laboratório do Iscte. Espera-se que os estudantes analisem os materiais fornecidos e, após as aulas, realizem auto-estudo para trabalhar e praticar para além das aulas. Os exercícios explorados em aula permitem aos alunos a compreensão de quais os aspetos lecionados que pretendem aprofundar no contexto específico. Os workshops de resolução prática, a estabelecer durante 1,5 hora de aula após o módulo de aulas de contacto da semana e com apoio de um(a) monitor(a) oferecem uma oportunidade para os alunos explorarem, aplicarem e refletirem sobre os conceitos, métodos e ferramentas expostos, obtendo feedback formativo in situ.

Observações / Observations


A UC oferece 12 h extras de apoio laboratorial em workshop com apoio de monitor. Estas aulas já estão consignadas no horário semanal da UC.

Bibliografia Principal / Main Bibliography


> Python for Software Design, A.B. Downey, 2009, Cambridge University Press. > Python DataScience Handbook, Jack Vanderplatz, 2018, O'Reilly. URL: https://github.com/jakevdp/PythonDataScienceHandbook?tab=readme-ov-file

Bibliografia Secundária / Secondary Bibliography


> Programação em Python: Introdução à programação com múltiplos paradigmas: João P. Martins 2013 IST Press

Data da última atualização / Last Update Date


2026-09-10