Skip to main content

IPLUSO 24340

Object-Oriented Programming

Computer Engineering and Applications
  • ApresentaçãoPresentation
    This course introduces students to the object-oriented programming paradigm, a widely used approach in modern software development. The main focus is on organizing and structuring code using key concepts such as classes, objects, inheritance, polymorphism, and encapsulation. It plays a crucial role in the academic path, as it lays the groundwork for understanding and developing more complex systems, while also preparing students for areas that require structured thinking, modularity, and code reuse. At the same time, it brings students closer to real-world development practices, where this paradigm is broadly adopted.
  • ProgramaProgramme
    CP1. Introduction to Object-Oriented Programming: Advantages of the object-oriented paradigm CP2. Classes and Objects: Class definition and creation, Object instantiation, Attributes and methods, Constructors CP3. Encapsulation and Abstraction: Visibility modifiers (public, private, protected), Getters and setters, Data abstraction CP4. Inheritance: Concept of inheritance and code reuse, Class hierarchies, Subclasses and superclasses CP5. Polymorphism: Compile-time and runtime polymorphism, Method overloading and overriding, Abstract classes and interfaces CP6. Exception Handling: Types of exceptions, Error detection and handling mechanisms CP8. Collections and Data Structures: Files, Lists, Sets, Maps, Queues CP9. Software Development and Testing: Structuring object-oriented projects, Use of IDEs, Unit testing CP10. Final Project and Mini-Project: Development of a complete application, Integration of the covered concepts, Documentation and presentatio
  • ObjectivosObjectives
    LO1. Understand the fundamentals of the object-oriented programming paradigm and its relevance in software development. LO2. Apply concepts such as classes, objects, encapsulation, inheritance, polymorphism, and composition in program development. LO3. Design object-oriented solutions based on real-world problem specifications. LO4. Write clean, modular, reusable, and maintainable code following good development practices. LO5. Use integrated development environments (IDEs) and supporting tools throughout the software construction and testing process. LO6. Identify and apply basic design patterns and common structures in object-oriented application development.  
  • BibliografiaBibliography
    Sierra, K., Bates, B., & Gee, T. (2022). Head first java, 3rd edition (3rd ed.). Sebastopol, CA: O?Reilly Media. Coelho, Paulo. (2016). Programação em Java - Curso Completo. 5a Edição Atualizada. FCA. ISBN 9789727228409  
  • MetodologiaMethodology
    The features of the Java language and the concepts of Object-Oriented Programming will be introduced in the theoretical classes, where their principles and applications will be discussed. In the practical classes, students will have the opportunity to apply this knowledge by solving exercises that reinforce their understanding of the language and enhance their skills in creating object-oriented programming solutions. Students will also be required to develop a final project to consolidate the knowledge they have acquired.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Mandatory
  • EstágioInternship
    Não