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
2026/2027
Pré-requisitos / Pre-Requisites
-
Objetivos Gerais / Objectives
A unidade curricular pretende dotar os estudantes de noções fundamentais de programação e experiência prática, utilizando a linguagem Python. No final, os estudantes terão tomado contacto com primitivas de programação imperativa existentes em várias linguagens, bem como com conceitos básicos de programação orientada para objetos.
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á ficar apto a: OA1. Desenvolver funções/procedimentos que implementem algoritmos simples. OA2. Desenvolver código para manipular estruturas vetoriais e objetos. OA3. Desenvolver classes de objetos simples. OA4. Escrever e compreender código Python.
Conteúdos Programáticos / Syllabus
CP1. Variáveis e estruturas de controlo CP2. Funções e parâmetros CP3. Invocação e recursividade CP4: Procedimentos e input/output CP5. Objetos e referências CP6. Classes de objetos CP7. Objetos compostos CP8. Classes de objetos compostos CP9. Vetores CP10. Matrizes
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
A interligação entre os conteúdos programáticos e os objetivos de aprendizagem (OA) é a seguinte: O objetivo de aprendizagem OA1 está relacionado com os conteúdos programáticos CP1-CP4 e CP9 e CP10, dado que os conceitos são aplicados essencialmente por meio do desenvolvimento de funções e procedimentos. O objetivo de aprendizagem OA2 é abordado nos conteúdos programáticos CP5-CP10, cujos exercícios associados envolvem a manipulação de estruturas vetoriais e objetos. O objetivo de aprendizagem OA3 concretiza-se nos conteúdos programáticos CP5-CP8, os quais consistem numa iniciação à programação orientada para objetos. O objetivo de aprendizagem OA4 é transversal à totalidade dos conteúdos programáticos (CP1-10), 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.
Avaliação / Assessment
Esta UC é feita apenas por avaliação ao longo do semestre, não contemplando a modalidade de avaliação por exame. Componentes da avaliação: a) TPCs (15%): 6 mini-testes online, para fazer em casa; b) TESTE1 (20%): Prova escrita sem consulta a realizar na semana de avaliações intercalares; c) PROJETO (25%): Projeto individual; d) TESTE2 (40%): Prova escrita sem consulta a realizar em 1º época, 2ª época ou época especial (Artº 14 do RGACC). Requisito de aprovação: TESTE2 >= 8 valores A nota final do PROJETO é fixada para cada estudante através de uma prova oral ou teste prático que usa como base o projeto submetido pelo estudante para aferir os conhecimentos adquiridos. Outra informação relevante: - A assiduidade não é requisito essencial de aprovação; - As perguntas feitas nas provas escritas podem envolver aspectos relativos ao projeto; - Sempre que existam dúvidas quanto à autoria ou ao domínio dos conhecimentos demonstrados num elemento de avaliação, o estudante poderá ser convocado para uma prova individual, oral ou escrita, destinada a validar a respetiva classificação; - Não é possível obter aprovação apenas através da realização de exame final; - Em caso de reprovação, o estudante poderá realizar o TESTE2 na época seguinte, mantendo a nota das restantes componentes; - Quando a melhoria de nota ocorrer num ano letivo diferente daquele em que foi feito o trabalho, a nota das componentes PROJETO, TPCs e TESTE1 é substituída por uma prova prática, a realizar em computador antes ou depois da prova escrita. Os alunos nessas condições que pretendam realizar melhoria de nota devem contactar o coordenador da UC, com uma antecedência mínima de 2 dias antes da prova da 1ª época.
Metodologias de Ensino / Teaching methodologies
Esta unidade curricular está estruturada numa combinação de aulas teóricas e aulas práticas. As aulas teóricas têm um cariz demonstrativo, no sentido em que em todas as aulas, uma parte significativa das mesmas é dedicada a resolver exercícios passo-a-passo, demonstrando a aplicação de conceitos. As aulas práticas destinam-se à realização de exercícios ao longo do semestre, os quais acompanham os conceitos abordados nas aulas teóricas.
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
A metodologia de ensino pretende atingir os objetivos de aprendizagem através da combinação de aulas teóricas e aulas práticas. Nas aulas teóricas são introduzidos os conceitos de programação, os quais estão relacionados com os objetivos de aprendizagem OA1-3. Nas aulas práticas são exercitados os conceitos expostos nas aulas teóricas, de modo a que os alunos atinjam o objetivo de saber escrever a compreender código Python (OA4).
Observações / Observations
Bibliografia Principal / Main Bibliography
João P. Martins, Programação em Python: Introdução à programação com múltiplos paradigmas, 2013, IST Press, https://istpress.tecnico.ulisboa.pt/produto/programacao-em-python-introducao-a-programacao-utilizando-multiplos-paradigmas/
Bibliografia Secundária / Secondary Bibliography
Data da última atualização / Last Update Date
2026-07-22