This course introduces the principles of object oriented programming. The student will understand the effect of using OOP in the software development life cycle. Learn the basic fundamentals of oop, understand class reusability, understand hiding complexity, building own package of classes, developing systems with GUI, learn exception & error handling concepts, learn event handling concepts, streaming and file management concepts.