Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03488
Acrónimo :
03488
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português,Inglê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
- Presencial (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
- Presencial (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


2019/2020

Pré-requisitos / Pre-Requisites


Conhecimentos elementares de Matemática (ensino secundário).

Objetivos Gerais / Objectives


A unidade curricular pretende dotar os alunos de noções fundamentais de programação e experiência prática, utilizando a linguagem Python. No final da disciplina, os alunos terão tomado contacto com primitivas de programação imperativa existentes em várias linguagens, bem como com conceitos básicos de programação com 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. Vetores CP5. Procedimentos e referências CP6. Matrizes 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


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-7 e CP9, dado que os conceitos são aplicados essencialmente por meio do desenvolvimento de funções e procedimentos. O objetivo de aprendizagem OA2 é atingido através dos conteúdos programáticos CP4, CP6, CP7, CP9, 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 CP8 e CP10, 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 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. | Avaliação periódica: Nota Final = 20% Nota do Teste Intercalar + 70% Nota da Frequência + 10% Notas dos Mini-testes Online [nota mínima de 8 valores na Frequência] Projeto Individual: obrigatório; classificações possíveis - A, B, C e D; define um limite máximo para a Nota Final [A - max. 20; B - max. 16; C - max. 12; D - reprovação à UC] Não é possível obter aprovação através da realização de Exame (100% da nota). Ver detalhes obrigatórios no campo Observações.

Metodologias de Ensino / Teaching methodologies


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


A frequência é um teste escrito com a duração aproximada de 2h a realizar na 1ª ou 2ª época. A nota mínima na frequência para obter aprovação na UC é de 8 valores. Em caso de reprovação na 1ª época, o aluno pode voltar a realizar a frequência na 2ª época, mantendo a nota da componente prática. Uma parte significativa da frequência deverá incidir sobre problemas/algoritmos relacionados com o projeto. Por esta razão, recomenda-se que o aluno aplique um esforço considerável na realização do projeto. A dedicação não só é necessária, bem como consistirá num treino adequado para realizar a frequência. Para efeitos de logística, poderá ser pedida uma inscrição obrigatória nas provas em que é esperado um número elevado de alunos. Mini-testes online a. São realizados 10 mini-testes ao longo do semestre, utilizando-se a plataforma de e-learning. Cada mini-teste tem uma duração máxima de 30 minutos, está disponível ao longo de uma semana e incide sobre a matéria dada na semana anterior. b. A nota final desta componente será a média das 8 melhores notas. c. Falhas pontuais no acesso à plataforma de e-learning não influenciam o prazo de realização dos mini-testes - recomenda-se por isso que os alunos não os deixem para o último dia em que estão disponíveis. d. É obrigatório realizar 6 mini-testes. A não realização de, pelo menos, 6 mini-teste resulta na não aprovação à UC. e. Os mini-testes não realizados têm a classificação de 0 valores.

Bibliografia Principal / Main Bibliography


Python for Software Design: Downey A.B 2009 Cambridge University Press Programação em Python: Introdução à programação com múltiplos paradigmas: João P. Martins 2013 IST Press

Bibliografia Secundária / Secondary Bibliography


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


2024-02-16