Introduction to Object-oriented Programming (OOP)