Skip to main content

IPLUSO 16225

Object Oriented Programming

Cybersecurity
  • ApresentaçãoPresentation
    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.
  • ProgramaProgramme
    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
  • ObjectivosObjectives
    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.
  • BibliografiaBibliography
    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  
  • MetodologiaMethodology
    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.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Mandatory
  • EstágioInternship
    Não