Learn CSIT
CSC-166Programming

Object Oriented Programming

Semester II3 credit hours
8
Units
42
Lessons
6/7
Labs

Model the world with objects. Classes, inheritance, polymorphism and encapsulation — the mental model behind most modern software.

What you'll learn

The key areas this subject covers, mapped to the official curriculum.

  • Objects, classes and encapsulation
  • Constructors and destructors
  • Inheritance and polymorphism
  • Operator overloading and templates
  • Exception handling and file I/O

Course units

The structured path through this subject.

  1. 1

    Introduction to Object Oriented Programming

    Why OOP exists, its core features, history and how it compares with procedural programming and C.

    5 topics · 5 lessons available

  2. 2

    Basics of C++ programming

    Program structure, tokens, data types, operators, control flow and I/O in C++.

    5 topics · 5 lessons available

  3. 3

    Classes & Objects

    Defining classes, encapsulation, constructors, friend functions and static members.

    5 topics · 5 lessons available

  4. 4

    Operator Overloading

    Overloading binary and unary operators, rules and type conversions.

    5 topics · 5 lessons available

  5. 5

    Inheritance

    Base and derived classes, inheritance types, constructors, ambiguity and virtual base classes.

    7 topics · 7 lessons available

  6. 6

    Virtual Function, Polymorphism, and miscellaneous C++ Features

    Function overloading, inline and friend functions, this pointer, virtual functions and abstract classes.

    5 topics · 5 lessons available

  7. 7

    Function Templates and Exception Handling

    Generic programming with function and class templates, and structured error handling with exceptions.

    5 topics · 5 lessons available

  8. 8

    File handling

    Text and binary files, file modes, random access and error handling with the fstream library.

    5 topics · 5 lessons available

Subject details

Code
CSC-166
Credit hours
3
Semester
Semester II
Category
programming