Skip to main content
CSC-121
BS

Object Oriented Programming

(DC) Domain Core Theory: 3 Cr. Hrs Lab: 1 Cr. Hr Total: 4 Cr. Hrs
Objectives: The aim of the course is to make students able to develop programs by using object oriented approach. The students will learn the concepts of classes, data encapsulation, object re-usability, inheritance, and polymorphism. C++ will be used as a primary language in the course, other object oriented languages like Java or C# will be introduced at the end of the course.

Contents: Introduction to Object Orientation: Objects and Classes; Encapsulation; Inheritance; Polymorphism. OO Foundations/Basics: Member Variables; Member Functions; Privacy; Memory Allocation and De-allocation. Encapsulation: Constructors and Destructors; Overloading Constructors; Referring to Current Object; Copy Constructor; Overloading Operators; Assignment Operator; Unary Operations; Binary Operations; Friend functions. Inheritance: Derived Classes; Hierarchies; Base and Derived syntax; Access: public, protected, private; Functions in a Hierarchy; Shadowing; Constructors and Destructors; Derived Classes with a Resource. Polymorphism: Overview of Polymorphism; Type; Categories: coercion, overloading, inclusion, parametric; Virtual Functions; Bindings; Polymorphic Objects; Abstract Base Classes; Pure Virtual Functions; Arrays of Pointers; Templates.