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