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
2024/2025
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. Funções e parâmetros CP2. Variáveis e estruturas de controlo 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 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: 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 intercalar; c) PROJETO (25%): Projeto individual; d) TESTE2 (40%): Prova escrita a realizar em 1º época, 2ª época ou época especial (Artº 14 do RGACC) Requisito de aprovação: TPCs + PROJETO >= 8 valores (em 20 valores). A nota final do PROJETO é fixada para cada estudante através de uma prova oral e dependerá do código, dos relatórios e do desempenho do estudante na oral. A assiduidade não é requisito essencial de aprovação. Outra informação relevante: - As perguntas feitas nas provas escritas podem envolver aspectos relativos ao projeto. - 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
2024-07-29