Vietnam National University of HCMC
International University
School of Computer Science and Engineering
Object Oriented Programming
Introduction
Instructor: Le Thi Ngoc Hanh, Ph.D
ltnhanh@[Link]
Semester – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Outline
Introduction
WHAT & WHY OOP
Grading scheme
Course policy
Basics in OOP
Slide 2 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
References
[R1] ] Paul J. Deitel (Author), Harvey Deitel (Author), Java
How To Program, 11th Edition, Prentice Hall, 2017
[R2] Matt Weisfeld, The Object-Oriented Thought Process,
5th Edition, Addison-Wesley, 2019
[R3] Erich Gamma, Richard Helm, Ralph Johnson and
John Vlissides, Design Patterns: Elements of Reusable
Object-Oriented Software, Addison-Wesley Professional,
1994
Slide 3 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
About me
[Link]
[Link]
Slide 4 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
About TAs
Slide 5 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
MS Team
Or join via code: ayftat2
Slide 6 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Syllabus – Course page
[Link]
[Link]
Slide 7 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Course Q&A
Communication:
Email, MS Team, office hours - by an appointment @Room A1. 610
Take attendance?
Food?
Zzz ….?
Late submissions?
Discussion is encouraged, but plagiarism is not allowed!
Do not use the codes on webpages without modification!
Slide 8 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Be Responsible for Yourself
Cheating or plagiarism will result in zero score
Final score = 0
Under 50?
See you next year ~
Slide 9 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Grading Scheme
The final grade for the course will be determined as follows:
C1 – Attendance/in-class quiz: 10%
C2 – Assignments: 15%
C3 – Midterm test: 30%
C4 - Final exam: 40%
C5 - Extra credit will be granted periodically for clever or
creative solutions: 5%
Slide 10 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Evaluation Methods
Midterm exam: open a handwritten A4 note
Final exam: open a handwritten notebook
Project: per guidance (Lab session)
Slide 11 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Everything Around You Is an Object
Slide 12 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
From Real World to Software
Slide 13 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
What Is an Object?
An object is an entity that combines data and
behavior.
Slide 14 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
What Is OOP?
OOP is a way of building programs by organizing
them around objects, not procedures.
Slide 15 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Why
OOP?
Slide 16 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
How Programs Start?
Procedural Programming Characteristics
Program = collection of functions
Data is often global
Data and functions are separated
Slide 17 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
When Programs Grow …
Scenario: 5 developers, 500 functions, 300 global
variables, ….
Slide 18 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Core Problems
Problems with procedural style:
❑ No clear ownership of data
❑ Anyone can modify anything
❑ Hard to maintain
❑ Hard to scale
Slide 19 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
OOP as a Solution
OOP solves this by:
❑ Givingdata an owner (object)
❑ Controlling access
❑ Grouping responsibility
“In OOP, data is no longer homeless”
Slide 20 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Course Objective
Understand limitations of procedural programming
Explain what objects and classes are
Understand encapsulation and data hiding
Recognize inheritance, polymorphism, and composition
Read basic UML class diagrams
Slide 21 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Basic OOP Concepts
Slide 22 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Class vs Object
Class = blueprint
Object = real house
Slide 23 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Class vs Object
Slide 24 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Data Hiding
Attributes should be private
Access via methods
Slide 25 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Object Communication
How objects interact:
Objects send messages
Message = method call
Slide 26 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Inheritance (Is-a)
Concept: Reuse code & Specialization
Slide 27 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Polymorphism
Polymorphism lets the same message trigger
different behavior depending on the object
Slide 28 PPL – Spring 2026
VNU-HCM International University School of Computer Science and Engineering
Composition (Has-a)
Objects contain other objects
Has
Slide 29 PPL – Spring 2026