CS-1201 Object-Oriented Programming

Instructor: Arbish Akram


This course covers the principles and practice of object-oriented programming using C++. Building on procedural programming, students learn to design programs using classes, objects, inheritance, polymorphism, and templates. Emphasis is placed on clean design, reusability, and real-world problem solving.

Prerequisites

Programming Fundamentals.

Text

  1. Object-Oriented Programming in C++ by Robert Lafore, 4th Edition
  2. C++ How to Program by Paul J. Deitel and Harvey Deitel, 8th Edition

Grading

Assignments5%
Quizzes25%
Midterm Exam20%
Final Exam50%

Schedule

Lecture Topics Quizzes Assignments Tutorial
1-2
Course Information, Procedural Programming, Global vs. Local Data, Four Pillars of OOP (Abstraction, Encapsulation, Inheritance, Polymorphism)
Multi-File Programs in C++
3-4
Defining Classes, Creating Objects, Access Modifiers, Default and Parameterized Constructors, Initialization List, Constructor Overloading, Member Functions Defined Outside the Class
Quiz 1, Quiz 2
5
Pass Objects to Functions, Return Objects from Functions, Array of Objects
6
this Pointer, Cascading Function Calls
7-8
Static Variables, Static Data Members, Static Member Functions, Constant Member Functions, Static Constant Data Members, Constant Objects
Quiz 3, Quiz 4
9
Friend Functions, Friend Classes
Assignment 1
10
Destructor, Copy Constructor (Default vs. User-Defined), Deep vs. Shallow Copy
11-13
Arithmetic, Relational, Stream, Comparison, Unary
Quiz 5, Quiz 6