Object oriented concepts are introduced, including object oriented programming characteristics such as modularity, abstraction, encapsulation, inheritance, polymorphism and dynamic binding. Object oriented programming benefits reusability of code, supports code security, and allows for easy management of complex systems. Example applications of object oriented programming include databases, expert systems, simulation and modeling.