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
2022/2023
Pré-requisitos / Pre-Requisites
Programação Orientada por Objetos
Objetivos Gerais / Objectives
Abordar o desenvolvimento de componentes reutilizáveis de software com boas propriedades relativas à sua usabilidade e adaptação. São introduzidos conceitos que assentam em noções prévias de programação orientada por objetos, envolvendo padrões de desenho, desenho de API, boas práticas da indústria de software.
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 estudante deverá ficar apto a: OA1. Conhecer os fundamentos de programação funcional OA2. Aplicar mecanismos de meta-programação OA3. Desenhar APIs (application programming interfaces) OA4. Desenvolver software reutilizável
Conteúdos Programáticos / Syllabus
CP1. Introdução à linguagem Kotlin CP2. Meta-programação e anotações CP3. Padrões de desenho para extensibilidade CP4. Sistemas baseados em plugins
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) realiza-se da seguinte forma: OA1: CP1 OA2: CP2 OA3: CP3 OA4: CP4
Avaliação / Assessment
Avaliação Periódica: - Quizzes em tempo de aula (20%) - Avaliação intermédia de projeto (20%), durante o período letivo - Projeto (60%), com entrega e discussão durante o período de avaliação (época de exames) Para aprovação à UC é exigida uma assiduidade mínima às aulas efetivamente lecionadas de 50%. A realização de Projeto é única forma de avaliação, não existe a possibilidade de avaliação por Exame. A avaliação em Época Especial consiste na entrega e discussão do Projeto, sendo obrigatório que o mesmo tenha sido iniciado e acompanhado pelo docente durante o período letivo.
Metodologias de Ensino / Teaching methodologies
Serão utilizadas as seguintes metodologias de ensino-aprendizagem(MEA): MEA1: Expositivas, para apresentação da motivação para as matérias abordadas e demonstração de aplicações práticas MEA2: Participativas, através da resolução de exercícios práticos MEA3: Argumentativas, através de um acompanhamento próximo e discussão das opções seguidas no 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
Principais interligações entre as metodologias de ensino-aprendizagem (MEA) e os respectivos objectivos (OA): OA1: MEA1, MEA2 OA2: MEA1, MEA2, MEA3 OA3: MEA1, MEA2, MEA3 OA4: MEA2, MEA3
Observações / Observations
.
Bibliografia Principal / Main Bibliography
André L. Santos, Livro digital de apoio (Kotlin, padrões de desenho), 2021.
Bibliografia Secundária / Secondary Bibliography
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Joshua Bloch, Effective Java (3ª edição), 2017. Dmitry Jemerov and Svetlana Isakova, Kotlin in Action, Manning, 2017. David Farley, Modern Software Engineering: Doing What Works to Build Better Software Faster, Addison-Wesley, 2021.
Data da última atualização / Last Update Date
2024-02-16