Syllabus

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