University of Management and Technology
School of Commerce and Accountancy
Quaid e Azam Campus
Course Outline
Course Title: Object-oriented Programming
(CS251)
Program
ADP(CS)
Credits Hours 3
Duration 15 Weeks / 30 Sessions
Prerequisites
Resource Person
Contact/Email
Page 1 of 6
Course Description:
The goal of this course is to teach you object oriented programming in C++ and also to familiarize you
with the most commonly used libraries and OOP constructs. We will use C++ as the underlying language
in this course. C++ is among the most widely used and most successful languages for the programming of
large scale software applications.
Learning Objectives:
Upon successful completion of this course students should be able to:
• Understand a problem for a programmable task from its description
• Model a solution to a programmable task in terms of objects
• Translate the solution to a programmable task into an object-oriented
program in C++
• Understand and apply the C++ language constructs and tools in
programming
• Understand and use common C++ libraries in programming
Teaching-Learning Methodology:
Note: Select methodologies as per nature of the course.
▪ Lectures
▪ Recommended Text/Supplementary Texts
▪ Handouts
▪ Case Studies
▪ Skill Development Exercises
▪ Project Report/Term Paper
▪ Any other Teaching Tool…………………………………………
Page 2 of 6
Recommended Text Book:
1. C++ How to Program, 7th Edition
By: Deitel and Deitel.
Link
[Link]
Reference Book:
1. C++ The Complete Reference, By: Herbert Schildt
2. Object-oriented Programming in C++, By: Robert Lafore
Assessment & Evaluation:
Note: Please Specify the Weightage you want to assign to assignments and Final
Project/ Project presentation/Presentation.
Quizzes 15%
Assignments
Final Project 20%
Project Presentation/Presentations
Mid Term 25%
End Term Exam 40%
Total: 100
Page 3 of 6
SEHEDULE OF ACTIVITIES
Note: Please fill the tasks/activities column according to your course plan
Week Contents/Topics to be Taught Tasks/Activities
Introduction
▪
C Programming Language Review
Course Outline
1 o Defining Functions Distribution
o Defining Structures
▪ Writing a class
▪ Examples
Object-oriented Concepts
▪
Encapsulation
▪ Inheritance
2 ▪ Polymorphism
Defining Classes in C++
▪
Classes and Objects
▪
▪ Constructors
3 ▪ Default Constructor
▪ “this” pointer
Defining and Using Classes in C++
▪ Getter/Setter Functions
▪ Copy Constructor
4 Quiz 1
▪ Function Overloading
▪ Overloaded Constructors
▪
Instances, Variables and Scope
▪ Examples
Inheritance
▪
Deriving classes from other classes
5 Assignment 1
▪ Inheritance Types: Public/Private/Protected
▪ Function Overriding
▪ Examples
Multiple Inheritance and Polymorphism
▪
Multiple Inheritance
6 ▪ Polymorphism Assignment 2
▪ Virtual functions
▪ Abstract classes
▪ Examples
Page 4 of 6
Class Hierarchies, Friends, Operator Overloading
▪
Class Hierarchies
▪ Diamond Problem
7 ▪ Friend keyword Quiz 2
▪ Friend usage
▪ Overloading vs Overriding
▪ Operator Overloading
▪ Examples
Dynamic Allocation
▪
Dynamic allocation, new/delete
8 ▪ Allocating Objects
▪ Allocation using Pointers
▪
Allocation and Copy Constructor
▪ Memory Leakage Issues
Streams
9 ▪ I/O streams: cout/cin, using ios flags and formatting
I/O
▪
Reading and Writing files using file streams
Introduction
▪
C Programming Language Review
10 o Defining Functions
o Defining Structures
▪ Writing a class
▪ Examples
Object-oriented Concepts
▪
Encapsulation
▪ Inheritance
▪ Polymorphism Quiz 3
11 Defining Classes in C++
▪
Classes and Objects
▪ Constructors
▪ Default Constructor
▪ “this” pointer
Defining and Using Classes in C++
▪
Getter/Setter Functions
▪ Copy Constructor
12
▪ Function Overloading
▪ Overloaded Constructors
▪
Instances, Variables and Scope
▪ Examples
Page 5 of 6
Inheritance
▪
Deriving classes from other classes
13 Quiz 4
▪ Inheritance Types: Public/Private/Protected
▪ Function Overriding
▪ Examples
Multiple Inheritance and Polymorphism
▪
Multiple Inheritance
Assignment 4
15 ▪ Polymorphism
Presentations (if any)
▪ Virtual functions
▪ Abstract classes
▪ Examples
16 END TERM EXAMINATION
Page 6 of 6