• Não
  • The Course Unit of Object-Oriented Programming (OOP) aims to provide students with solid knowledge of the programming paradigm that underpins most current programming languages and software development technologies. Its scope lies in introducing and deepening the fundamental concepts of object orientation, fostering the ability to apply these principles in the development of robust, scalable, and reusable applications. The unit also seeks to stimulate logical and abstract reasoning skills, preparing students to solve complex problems in diverse contexts through the practical application of modeling and implementation techniques in Java. The relevance of this unit stems from the fact that OOP constitutes the essential conceptual and practical foundation for progression into more advanced areas of software engineering and development.
  • Semestral
  • Descrição

    Data limite

    Ponderação

    Entrega, Apresentação e Defesa do Projeto

    20-01-2026

    65%

    Entrega do Portefólio Individual

    20-01-2026

    35%

    Exame de Recurso

    -

    100%

    A avaliação contínua inclui a realização, individualmente ou em pequenos grupos, de um projeto que materializa a aplicação dos conceitos da POO, representando 65% da nota final, e a elaboração de um portefólio individual, no qual cada estudante reflete de forma crítica sobre as aprendizagens realizadas, documenta exercícios desenvolvidos e avalia a sua evolução ao longo do semestre, correspondendo a 35% da nota final. Esta distribuição assegura um equilíbrio entre o desempenho técnico e a capacidade reflexiva, garantindo uma avaliação integral e formativa do processo de aprendizagem. Em alternativa à avaliação contínua, os estudantes que não obtenham aprovação podem realizar um exame escrito de recurso, com um peso de 100% da nota final.

  • Introduction to the Object-Oriented Programming (OOP) paradigm What is OOP and Benefits of OOP Concepts used in OOP (methods, fields, classes, objects, etc.) Objects and classes in OOP; Definition of classes Creation of objects; Constructors Inheritance What inheritance is in OOP Extension of classes Method overriding through the superclass Polymorphism; Method overloading Dynamic methods in OOP Encapsulation Access modifiers Getters and setters in OOP Abstraction Abstract classes; Interfaces Relevant topics in OOP Exceptions and their handling File systems (I/O) Inner classes and static members Structures and code organization Organization and structure of code and their importance
  • At the end of the course unit, the student should be able to: Understand the fundamental principles of Object-Oriented Programming. Define classes, objects, and methods in Java, correctly applying constructors. Apply the concepts of encapsulation, inheritance, polymorphism, and abstraction to concrete problems. Develop solutions using interfaces, abstract classes, and method overloading and overriding mechanisms. Implement exception handling, input/output operations, and modular code organization. Work collaboratively in a team in the development of software solutions. Present and defend developed solutions, providing well-founded arguments. Critically reflect on the process of learning and software development, producing appropriate technical documentation.
  • Mandatory
  • The course unit adopts active teaching and learning methodologies, privileging the articulation between theory and practice. Project-Based Learning (PBL) constitutes the structuring axis of the process, promoting autonomy and the resolution of real problems, which ensures greater motivation and engagement. In addition, the completion of practical exercises and the resolution of cases in class, individually and/or collaboratively, allows for the immediate application of the concepts presented. Collaborative work and peer assessment foster discussion, critical reflection, and the sharing of different perspectives, developing social and communication skills that are fundamental in professional contexts. Throughout the entire process, formative assessment, with continuous feedback from the lecturer, ensures that students can identify and overcome difficulties, progressively consolidating their knowledge and competences.
  • Português
  • Schildt, H. (2022). Java: The Complete Reference. McGraw-Hill Education Coelho, P. (2016). Programação em Java - Curso Completo . 5a Edição Atualizada. FCA.ISBN 9789727228409  
  • 4
  • 0
  • 6
  • 1
  • IPLUSO6378-16225
  • Object Oriented Programming
  • 16225
  • 6378
  • Development for the Web and Mobile Devices