IPLUSO 16225
Object Oriented Programming
Cybersecurity
-
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 modif 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
-
ProgramaProgrammeIntroduction to Object-Oriented Programming (OOP) OOP concepts, benefits, classes, objects, methods, fields and algorithms. Objects and Classes in OOP Class definition, object creation and constructors. Inheritance Inheritance concepts, class extension and method overriding. Polymorphism Method overloading and dynamic method dispatch. Encapsulation Access modifiers, getters and setters. Abstraction Abstract classes and interfaces. Relevant Topics in OOP Exception handling, file systems (I/O), inner classes and static members. Code Structure and Organization Code organization, structure, readability and maintainability.
-
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 implementsmall 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 and readings) at home, freeing up class time for interactive activities such as problem-solving, coding exercises, and discussions. This approach promotes active learning and more personalized instructor support during class. Project-based learning will be implemented during practical labs to encourage the practical application of knowledge, enhance problem-solving skills, and provide a portfolio of work that students can showcase to potential employers. Gamification will also be implemented in OOP classes to increase motivation, engagement, and a sense of accomplishment, making the learning process more enjoyable and competitive. The aim of implementing these techniques is to encourage students to autonomously develop solutions to the problems posed to them.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão




