This module will introduce the core concepts related to object oriented programming used most widely in the software industry. Students will gain the programming skills required to solve real world problems using object-oriented concepts. They will gain understanding of the usability features of programming which leads to component development.