This course aims at introducing students to the principles of Object Oriented Programming (OOP), OOP is a programming paradigm, new way of thinking and looking at the program structure. Java as an OOP language will be used through the course as the main demonstration tool through which students will apply the principles of Object Oriented Programming.