IPLUSO 11144
Object-Oriented Programming
Computer Applications for Data Science
-
ApresentaçãoPresentationThe Object-Oriented Programming (OOP) curricular unit is a fundamental component of the computer science and software engineering study cycle, focusing on equipping students with essential skills for modern software development.The OOP Curricular Unit aims to introduce the students to this programming paradigm as an alternative to procedural programming. As It is more difficult to modify structured program and reuse code as compared to object-oriented programs. By studying OOP principles like encapsulation, inheritance, and polymorphism, students gain the ability to create robust, scalable, and reusable code, making this curricular unit highly relevant for advanced studies in software engineering, real-time systems, and enterprise application development.Since it was specifically developed to support object oriented programming, and is one of the most used languages in the business environment, we use the Java programming language
-
ProgramaProgramme1. Introduction to the object-oriented programming (OOP) paradigm o What is OOP o Benefits of OOP o Concepts used in OOP (methods, fields, object classes, etc.) 2. Objects and classes in OOP o Definition of classes o Object creation o Builders 3. Inheritance o What is inheritance in OOP o Extension of classes o Overriding methods through the super class (overriding) 4. Polymorphism o Overloading methods o Dynamic methods in OOP 5. Encapsulationo Access modifiers o Getters and setters in OOP 6. Abstraction o Abstract classes o Interfaces 7. Relevant topics in OOP o Exceptions and their handling (this part will be introduced in IP will be such as reviewing and updating concepts in OOP) o File systems (I/O) o Internal classes and static members 8. Code structures and organization o presentation on organization and structure of the code and its due importance!
-
ObjectivosObjectivesThe learning objectives of a course on Object-Oriented Programming (OOP) typically focus on enabling students to understand and apply the principles, concepts, and techniques of OOP. Upon successful completion of this course, students should be able to understand the differences between procedural languages and object-oriented languages, as well as the difference between the underlying philosophies.They should be abale to use core principles of OOP, including encapsulation, abstraction, inheritance, and polymorphism. They should be able to use the Java programming language to write object-oriented programs.They should be able to apply OOP principles to design and implement small to medium-sized software projects.
-
BibliografiaBibliographySierra, 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
-
MetodologiaMethodologyLectures and discussions provide a solid theoretical foundation for students to review theoretical content (e.g., video lectures, readings) at home, freeing up class time for interactive activities like problem-solving, coding exercises, and discussions. This type of learning helps to promotes active learning andr more personalized instructor support during class.Project based learning will be implemented during the practical labs to encourages practical application of knowledge, enhances problem-solving skills, and provides a portfolio of work that students can showcase to potential employers.Gamification is also implemented in OOP class for Increasing the motivation, engagement, and a sense of accomplishment,that makes the learning process more enjoyable and competitive. The aim of implementing all these techniques is to encourage the students to autonomously develop solutions for problems that are posed to them.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS4
-
NaturezaNatureMandatory
-
EstágioInternshipNão