Object Oriented Programming Syllabus 3 Sem SPPU Computer Engineering
Unit - 1 Fundamentals of Object-Oriented Programming
1.1 Modular generic and object-oriented programming techniques
1.2 Limitations of procedural programming
1.3 Need of object-oriented programming
1.4 OOP Paradigms
1.5 Fundamentals of object-oriented programming Namespaces objects classes data members methods messages data encapsulation data abstraction and information hiding inheritance polymorphism
1.6 Benefits of OOP
1.7 C as object-oriented programming language
1.8 C Programming C programming Basics
1.9 Data Types
1.10 Structures Enumerations
1.11 control structures
1.12 Arrays and Strings
1.13 Class Object
1.14 class and data abstraction
1.15 Access specifiers
1.16 Separating interface from implementation.
1.17 Functions Function function prototype accessing function and utility function
1.18 Constructors and destructor Types of constructor
1.19 Objects and Memory requirements
1.20 Static members variable and functions inline function friend function
Unit - 2 Inheritance and Pointers
2.1 Base Class and derived Class
2.2 Protected members
2.3 Relationship between base Class and derived Class
2.4 Constructor and destructor in Derived Class
2.5 Overriding Member Functions
2.6 Class Hierarchies
2.7 Public and Private Inheritance
2.8 Types of Inheritance
2.9 Ambiguity in Multiple Inheritances
2.10 Virtual Base Class
2.11 Abstract class
2.12 Friend Class
2.13 Nested Class
2.14 Declaring and initializing pointers
2.15 Indirection Operators
2.16 Memory Management new and delete
2.17 Pointers to Objects
2.18 This pointer
2.19 Pointers Vs Arrays
2.20 Accessing Arrays using pointers
2.21 Arrays of Pointers
2.22 Function pointers
2.23 Pointers to Pointers
2.24 Pointers to Derived classes
2.25 Passing pointers to functions
2.26 Return pointers from functions
2.27 Null pointer void pointer
Unit - 3 Polymorphism
3.1 Introduction to Polymorphism
3.2 Early and late binding
3.3 Types of Polymorphism
3.4 Concept of overloading
3.5 Operator overloading
3.6 Overloading Unary Operators
3.7 Overloading Binary Operators
3.8 Data Conversion
3.9 Type casting implicit and explicit
3.10 Pitfalls of Operator Overloading and Conversion
3.11 Keywords explicit and mutable
3.12 Function overloading
3.13 Pointers to Base class
3.14 Virtual function and its significance in C
3.15 Pure virtual function and virtual table
3.16 Virtual destructor
3.17 Abstract base class
Unit - 4 Files and Streams
4.1 Data hierarchy
4.2 Stream and files
4.3 Stream Classes
4.4 Stream Errors
4.5 Disk File IO with Streams
4.6 File Pointers
4.7 Error Handling in File IO
4.8 File IO with Member Functions
4.9 Overloading the Extraction and Insertion Operators
4.10 Memory as a Stream Object
4.11 Command Line Arguments
4.12 Printer output
Unit - 5 Exception Handling & Templates
5.1 Exception Handling Fundamentals
5.2 Other error handling techniques
5.3 Simple exception handling Divide by Zero
5.4 Multiple catching
5.5 Rethrowing an exception
5.6 Exception specifications
5.7 User defined exceptions
5.8 Processing unexpected exceptions
5.9 Constructor destructor and exception handling
5.10 Exception and inheritance
5.11 The Power of Templates
5.12 Function template
5.13 Overloading Function templates and class template