Introduction to Object Oriented Programming Fundamentals