Syllabus

BSc CSIT · Semester II

Object Oriented Programming syllabus

Official TU syllabus for Object Oriented Programming (CSC166): 8 units, 67 topics, 3 credit hours. Every unit links to its notes and solved questions.

1

Introduction to Object Oriented Programming

3h · 4 Q
  • Overview of structured programming approach
  • Object oriented programming approach
  • Characteristics of object oriented languages
2

Basics of C++ programming

5h · 12 Q
  • C++ Program Structure
  • Character Set and Tokens
  • Data Type
  • Type Conversion
  • Preprocessor Directives
  • Namespace
  • Input/Output Streams and Manipulators
  • Dynamic Memory Allocation with new and delete
  • Control Statements
  • Functions: Function Overloading, Inline Functions, Default Argument, Pass by Reference, Return by Reference, Scope and Storage Class
  • Pointers: Pointer variables declaration & initialization, Operators in pointers, Pointers and Arrays, Pointer and Function
3

Classes & Objects

8h · 12 Q
  • A Simple Class and Object
  • Accessing members of class
  • Initialization of class objects: (Constructor, Destructor)
  • Default Constructor
  • Parameterized Constructor
  • Copy Constructor
  • The Default Copy Constructor
  • Objects as Function Arguments
  • Returning Objects from Functions
  • Structures and Classes
  • Memory allocation for Objects
  • Static members
  • Member functions defined outside the class
4

Operator Overloading

7h · 8 Q
  • Fundamental of operator overloading
  • Restriction on operator overloading
  • Operator functions as a class members
  • Overloading unary and binary operator
  • Data Conversion (basic to basic, basic to user-defined, user-defined to basic, user-defined to user-defined)
5

Inheritance

7h · 9 Q
  • Introduction to inheritance
  • Derived Class and Base Class
  • Access Specifiers (private, protected, and public)
  • Types of inheritance
  • Public and Private Inheritance
  • Constructor and Destructor in derived classes
  • Aggregation
6

Virtual Function, Polymorphism, and miscellaneous C++ Features

5h · 10 Q
  • Concept of Virtual functions
  • Late Binding
  • Abstract class and pure virtual functions
  • Virtual Destructors
  • Virtual base class
  • Friend function and Static function
  • Assignment and copy initialization
  • Copy constructor
  • This pointer
  • Concrete classes
  • Polymorphism and its roles
7

Function Templates and Exception Handling

4h · 9 Q
  • Function templates
  • Function templates with multiple arguments
  • Class templates
  • templates and inheritance
  • Exceptional Handling (Try, throw and catch)
  • Use of exceptional handling
8

File handling

6h · 8 Q
  • Stream Class Hierarchy for Console Input/Output
  • Unformatted Input/Output
  • Formatted Input/Output with ios Member functions
  • Formatting with Manipulators
  • Stream Operator Overloading
  • File Input/output with Streams
  • Opening and Closing files
  • Read/Write from File
  • File Access Pointers and their Manipulators
  • Sequential and Random Access to File
  • Testing Errors during File Operations

Textbooks and references

  • Robert Lafore, Object Oriented Programming in C++, Fourth Edition, SAMS publications.
  • Herbert Schildt, C++ The Complete Reference, Fourth Edition, Tata McGraw Hill Publication.
  • Deitel and Deitel, C++ How to Program, Third Edition, Pearson Publication.
  • Joyce Farrell, Object-oriented programming using C++, Fourth Edition, Cengage Learning.

Study CSC166 the smart way

Solved questions, flashcards & practice