BIT · Semester II
Object Oriented Programming syllabus
Official TU syllabus for Object Oriented Programming (BIT153): 10 units, 69 topics. Every unit links to its notes and solved questions.
1
Object-Oriented Programming Fundamentals
6 Q- OOP definition and concepts
- Differences between OOP and procedural programming
- Features of object-oriented programming
- Bottom-up approach in OOP
- Classes and objects
- Structures versus classes
2
Classes, Objects, and Data Members
4 Q- Class definition and declaration
- Data members and member functions
- Access specifiers: public, private, protected
- Objects as instances of classes
- Objects as function arguments
- Returning objects from functions
3
Constructors and Destructors
7 Q- Constructor definition and purpose
- Types of constructors: default, parameterized, copy
- Constructor overloading
- Initialization of data members
- Destructor definition and characteristics
- Constructor and destructor execution order
- Constructor invocation in derived classes
4
Pointers, References, and Memory Management
7 Q- This pointer concept and uses
- This pointer for name conflict resolution
- Call by value and call by reference
- Memory management operators: new and delete
- Dynamic memory allocation
- Static data members and static functions
5
Function Features and Inline Functions
9 Q- Default arguments
- Function overloading
- Inline functions: advantages and disadvantages
- Friend functions
- Friend classes
- Member functions defined outside class
6
Inheritance and Polymorphism
10 Q- Inheritance definition and purpose
- Single-level inheritance
- Multi-level inheritance
- Multiple inheritance
- Hybrid inheritance
- Public, private, and protected inheritance
- Virtual base class and ambiguity resolution
- Aggregation versus inheritance
7
Operator Overloading and Type Conversion
9 Q- Operator overloading definition and purposes
- Overloading arithmetic operators
- Overloading comparison operators
- Overloading unary operators: pre-increment and post-increment
- Type conversion: basic to user-defined
- Type conversion: user-defined to basic
- Conversion between objects of different classes
8
Static and Dynamic Polymorphism
12 Q- Static polymorphism: function overloading
- Static polymorphism: operator overloading
- Dynamic polymorphism definition
- Virtual functions
- Pure virtual functions
- Abstract classes and concrete classes
- Early binding versus late binding
- Function overriding
9
Templates and Generic Programming
5 Q- Template concept and importance
- Function templates
- Class templates
- Template instantiation
- Generic programming with templates
10
Exception Handling and File I/O
15 Q- Exception handling definition and purpose
- Try, catch, and throw statements
- Types of exceptions
- Exception handling examples
- Stream definition
- Text file reading and writing
- Binary file reading and writing
- File handling with objects
- Namespace definition
- Stream manipulators: setw and setprecision
Study BIT153 the smart way
Solved questions, flashcards & practice