Object Oriented Programming

Outline

Introduction to object oriented design, history and advantages of object oriented design, introduction to object oriented programming concepts, classes, objects, data encapsulation, constructors, destructors, access modifiers, const vs non-const functions, static data members & functions, function overloading, operator overloading, identification of classes and their relationships, composition, aggregation, inheritance, multiple inheritance, polymorphism, abstract classes and interfaces, generic programming concepts, function & class templates, standard template library, object streams, data and object serialization using object streams, exception handling.

Learning Outcomes

  • Understand the principles of object-oriented paradigm.

  • Identify the objects & their relationships to build object-oriented solution

  • Model a solution for a given problem using object-oriented principles

  • Examine an object-oriented solution.

Reference Material

  • Introduction to Programming: Learn to Program in Java with Data Structures, Algorithms, and Logic,Samoylov, Nick. Packt Publishing, Limited, 2018.

  • Java 7 : A Comprehensive Tutorial,Kurniawan, Budi. Brainy Software, 2014.

  • Beginning Programming with Java for Dummies, Burd, Barry, and Burd. John Wiley & Sons, Incorporated, 2014.

  • Java: How to Program, 9th Edition by Paul Deitel

  • Beginning Java 2, 7th Edition by Ivor Horton

  • An Introduction to Object-Oriented Programming with Java, 5th Edition by C. Thomas Wu