Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03586
Acrónimo :
03586
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
.

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) :
18.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 :
37.0h/sem
Trabalho Autónomo :
113.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


2023/2024

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 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 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 Periódica, 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


Relativamente à avaliação - 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. Devido à atual situação provocada pela COVID-19, o processo de avaliação poderá sofrer algumas adaptações, que serão comunicadas oportunamente, caso tal venha a ser necessário

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-02-16