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.
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.
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