CS-302 Object Oriented Programming 3(3-0)
Duration: 15 Weeks Lectures per Week: 3 Total Lectures: 45
Lecture 1: Introduction to Object-Oriented Design (OOD)
Lecture 2: History & Evolution of Object-Oriented Design
Lecture 3: Advantages of Object-Oriented Design
Lecture 4: Introduction to Object-Oriented Programming (OOP)
Lecture 5: Classes and Objects
Lecture 6: Data Encapsulation
Lecture 7: Constructors
Lecture 8: Constructor overloading
Lecture 9: Destructors
Lecture 10: Access Modifiers
Lecture 11: Const vs Non-Const Functions
Lecture 12: Best practices using const
Lecture 13: Static Data Members
Lecture 14: Static Member Functions
Lecture 15: Function Overloading
Lecture 16: Introduction to Operator Overloading
Lecture 17: Overloading arithmetic operators
Lecture 18: Overloading relational & stream operators
Lecture 19: Identifying Classes from Problem Statements
Lecture 20: Relationships Between Classes
Lecture 21: UML overview for class relationships
Lecture 22: Composition
Lecture 23: Aggregation
Lecture 24: Composition vs Aggregation
Lecture 25: Introduction to Inheritance
Lecture 26: Types of Inheritance
Lecture 27: Access control in inheritance
Lecture 28: Multiple Inheritance
Lecture 29: Polymorphism
Lecture 30: Virtual functions
Lecture 31: Abstract Classes
Lecture 32: Interfaces (Conceptual & Language Support)
Lecture 33: Abstract classes vs Interfaces
Lecture 34: Generic Programming Concepts
Lecture 35: Function Templates
Lecture 36: Class Templates
Lecture 37: Introduction to STL
Lecture 38: STL Containers
Lecture 39: STL Algorithms & Iterators
Lecture 40: Object Streams
Lecture 41: Data & Object Serialization
Lecture 42: Use cases & limitations of serialization
Lecture 43: Exception Handling
Lecture 44: Custom Exceptions & Best Practices
Lecture 45: Course Review & Design-Oriented Case Study