0% found this document useful (0 votes)
20 views12 pages

OOP - Course Overview

This document provides an overview of an object-oriented programming course, including information about the instructor, course objectives, requirements, topics, and a comparison of procedural and object-oriented programming. The course introduces OOP principles and concepts like abstraction, encapsulation, inheritance and polymorphism using Java.

Uploaded by

Callen Elsweiss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views12 pages

OOP - Course Overview

This document provides an overview of an object-oriented programming course, including information about the instructor, course objectives, requirements, topics, and a comparison of procedural and object-oriented programming. The course introduces OOP principles and concepts like abstraction, encapsulation, inheritance and polymorphism using Java.

Uploaded by

Callen Elsweiss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Object Oriented

Programming
Meet your Prof
Lea D. Austero, DIT
▪ Doctor in Information Technology at
Technological Institute of the Philippines Quezon
City (May 2023)
▪ Master in Information Technology at University of
the Cordilleras (2015)
▪ Bachelor of Science in Computer Science (2006)
▪ Interests: Optimization, Image Processing, Data
Science
The Course
▪ This course introduces the principles and concepts of
Object-Oriented Programming (OOP). Students will learn how
to design and implement software using the object-oriented
paradigm, focusing on abstraction, encapsulation,
inheritance, and polymorphism. The course will also cover
best practices and design patterns in OOP.
▪ 3 units (2 hours lecture, 3 hours laboratory)
▪ Prerequisites: Basic programming knowledge (variables,
control structures, functions, etc.)\
▪ PL to be used: JAVA
Course Objectives
▪ Understand OOP Fundamentals
▪ Apply Abstraction and Encapsulation
▪ Master Inheritance and Polymorphism
▪ Analyze Software Design Patterns
▪ Develop Effective OOP Programs
▪ Apply Exception Handling
▪ Demonstrate Proficiency in Modern OOP Languages
▪ Analyze Real-World Software Systems
Course Requirements
▪ Midterm Exam (October 12-15, 2023)
▪ Final Exam (December 15-19, 2023)
▪ Machine exercises
▪ Case studies
▪ Assignments
▪ Project (Group of 3)
Expectations
▪ Show interest in learning OOP
▪ Attend our lectures
▪ Complete all course requirements
▪ If cannot understand a concept, must review and practice
▪ Yours?
Topics
▪ Introduction to OOP
▪ Abstraction and Encapsulation
▪ Inheritance
▪ Polymorphism
▪ Design Principles and Patterns
▪ Advanced Topics
Why OOP matters
▪ Modularity and Reusability ▪ Real-World Modeling
▪ Abstraction and Encapsulation ▪ Design Patterns
▪ Ease of Maintenance ▪ Career Opportunities
▪ Code Readability ▪ Adaptability
▪ Flexibility and Extensibility ▪ Preparation for Advanced
Concepts
▪ Team Collaboration
▪ Problem-Solving Skills
Procedural vs OOP
Characteristics
Procedural Object-Oriented
• Focuses on writing procedures • Focuses on creating and interacting with
(functions) that operate on data. objects, which encapsulate data and
• Data and functions are treated as behavior.
separate entities. • Data and functions are bundled together
• Relies on global data that can be within classes.
accessed by any part of the program. • Encourages the use of access modifiers to
• Emphasizes linear execution, where the control data access and promote
program follows a sequence of encapsulation.
instructions. • Supports concepts like inheritance,
• Limited code reusability as functions are polymorphism, and abstraction.
the primary unit of reuse. • Emphasizes code reusability through
• Programs are often organized around classes and hierarchies.
tasks and actions. • Programs are often organized around
Procedural vs OOP
Advantages
Procedural Object-Oriented
• Simple and • Promotes code organization and modular
straightforward for smaller design, making large projects more
programs or projects. manageable.
• Well-suited for tasks that • Enhances code reusability and
follow a clear sequence of maintainability through class hierarchies and
steps. design patterns.
• Easier for beginners to • Reflects real-world modeling, making the
grasp due to its code more intuitive and closely aligned with
procedural nature. the problem domain.
• Supports collaborative development by
allowing multiple developers to work on
Procedural vs OOP
Use Cases
Procedural Object-Oriented
• Small-scale scripts and • Large-scale software applications where
utilities. modular design and maintainability are
• Simple programs where crucial.
data structures and • Systems that require modeling complex
interactions are real-world entities and their interactions.
straightforward. • Projects that may involve multiple teams
• Embedded systems and require efficient collaboration.
with resource
constraints.
Thank you for listening!

You might also like