Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
18.0h/sem
Aula Prática e Laboratorial (PL) :
36.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 :
55.0h/sem
Trabalho Autónomo :
95.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


Esta UC tem como precedência as seguintes UC: - Programação Orientada aos Objetos

Objetivos Gerais / Objectives


Atingir um nível de programação que permita desenvolver, em colaboração, aplicações multiparadigma interativas de média escala.

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


Ao completar com sucesso esta unidade curricular, o estudante estará apto a: OA1: entender os princípios da programação funcional; OA2: escrever programas puramente funcionais; OA3: entender os benefícios das características do paradigma funcional comparativamente com outros paradigmas de programação; OA4: desenhar e implementar aplicações multiparadigma (com uma componente interativa) de média dimensão; OA5: trabalhar em equipa.

Conteúdos Programáticos / Syllabus


Os conteúdos programáticos (CP) são: CP1: Introdução ao paradigma funcional em programação e aos seus conceitos fundamentais; CP2: Conceitos avançados de programação funcional; CP3: Introdução às tecnologias essenciais de suporte à programação em equipa; CP4: Programação orientada a eventos; CP5: Padrões para interface do utilizador; CP6: Integração de programas multiparadigma;

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


CP1 -> OA1 CP1, 2 -> OA2 CP2 -> OA3 CP3, 4, 5, 6 -> OA4 CP3 + Desenvolvimento do projeto em equipa ->OA5

Avaliação / Assessment


Avaliação Periódica com Prova Escrita individual (PE) realizada durante o período de avaliação e, Projeto (PRJ) realizado em trabalho de grupo com 2 entregas (durante o período letivo), discussão e aferição individual do PRJ. As classificações possíveis na aferição individual são A, B ou C, definindo a nota do PRJ (np): A - np = à classif. do PRJ B - np = 80% da classif. do PRJ C - reprov. à UC Classificação final: 40%PE + 60%np Nota mínima 9.5 valores em ambos PE e np Não existe avaliação por exame Assiduidade não é usada cm critério de avaliação ou reprovação Estudantes sem nota mínima no projeto (ou que não o realizem) não têm acesso à prova escrita, ficando automaticamente reprovados à UC. Em caso de reprovação na 1ª época, o aluno pode voltar a realizar a prova escrita na 2ª época (e na época especial se a ela tiver acesso) mantendo a nota do Projeto. Não é possível melhorar a nota do projeto entre as avaliações de 1ª e de 2ª época. A obrigatoriedade de nota mínima no projeto também se aplica à Época Especial. Caso o estudante já tenha realizado e obtido nota mínima no projeto durante o período normal de lecionação da UC, o mesmo será considerado para a Época Especial. Caso ainda não tenha realizado o projeto, deverá entregá-lo até à data definida e realizar a discussão.

Metodologias de Ensino / Teaching methodologies


Aulas teórico-práticas e em laboratório com breves exposições teóricas seguidas de exercícios. Espera-se 5h/sem de trab autónomo para completar os exercícios das aulas e realizar o projeto. Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1: Expositivas,para apresentação dos conceitos teóricos; MEA2: Ilustrativas,para exemplificação dos conceitos teóricos com resolução prática de exercícios; MEA3: Orientadoras,com acompanhamento ao longo do desenvolvimento do projeto.

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 competências cognitivas são desenvolvidas através da exposição participativa e da resolução de exercícios. As competências práticas e de trabalho em equipa são desenvolvidas nos trabalhos em grupo supervisionados. Esta disciplina ministra conhecimentos em que a prática guiada é fundamental. Daí que o intercalar de exposição com prática (sensivelmente em módulos de 1h30 teórico-prática e 3h de laboratório) é, no nosso ponto de vista, a metodologia mais adequada. É também pela mesma razão que o projeto é fundamental para a avaliação. MEA1, MEA2, MEA3 -> OA1 MEA1, MEA2, MEA3 -> OA2 MEA1, MEA2, MEA3 -> OA3 MEA1, MEA2, MEA3 -> OA4 MEA3 -> OA5

Observações / Observations


.

Bibliografia Principal / Main Bibliography


Backfield, J. (2014). Becoming Functional: Steps for Transforming Into a Functional Programmer. ISBN 978-1449368173. Chiusano, P., & Bjarnason, R. (2014). Functional Programming in Scala. ISBN 978-1617290657. Wampler, D., & Payne, A. (2015). Programming Scala: Scalability = Functional Programming + Objects. ISBN 978-1491949856 Schildt, H. (2015). Introducing JavaFX 8 Programming. ISBN 978-0071842556. Tidwell, J., Brewer, C., & Valencia, A. (2020). Designing Interfaces: Patterns for Effective Interaction Design. ISBN 978-1492051961.

Bibliografia Secundária / Secondary Bibliography


Hutton, G. (2007). Programming in Haskell. ISBN 978-0521692694. Coplien, J. O. (1998). Multi-Paradigm Design for C++. ISBN 978-0201824674.

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


2024-02-16