Course Outline CS4-501-Object Oriented Programming
Course Outline CS4-501-Object Oriented Programming
Learning The Object-Oriented Programming (OOP) course aims to equip students with a
Objectives comprehensive understanding of OOP principles, enabling them to design,
implement, and analyze software solutions using object-oriented techniques.
Through this course, learners will develop critical skills in identifying objects
and their relationships, applying encapsulation, inheritance, and polymorphism,
and employing advanced programming constructs such as templates and
exception handling to solve complex problems.
Problem Analysis
Development of
Professionalism
Communication
Individual and
Modern Tool
and Society
Solving for
Knowledge
Computing
Computing
Teamwork
Academic
Education
Solutions
Life-long
Learning
Design/
Problems
Ethics
Usage
PLOs
No.
10
1
Learning Outcomes
At the end of the course the students will be Domain BT Level* PLO
able to:
Course Contents:
Introduction to object-oriented design, history and advantages of object-oriented design,
introduction to object-oriented programming concepts, classes, objects, data encapsulation,
constructors, destructors, access modifiers, const vs non-const functions, static data members
& functions, function overloading, operator overloading, identification of classes and their
relationships, composition, aggregation, inheritance, multiple inheritance, polymorphism,
abstract classes and interfaces, generic programming concepts, function & class templates,
standard template library, object streams, data and object serialization using object streams,
exception handling.
Teaching Methodology:
• Lectures, Slides, Notes, Practical labs, Presentations, or video lectures
• Mode of communication is English.
Course Assessment:
Practice problems as homework, Assignments, Quizzes, Project, Presentations, Midterm, and
Final Exam
Lecture Notes • C++ How to Program, 10th Edition, Deitel & Deitel.
& Reference • Starting Out with C++ from Control Structures to Objects, 9th Edition,
Material Tony Gaddis.
Midterms Covered till mid-term Final Will cover the entire course
Classroom • Review recommended material before coming to class plus bring summary of the
Policy reading assigned for the class
• Should be on time
• Constructor CLO3 L3
• Default Constructor
• Parameterized Constructor
• Non-parameterized Constructor
• Constructor Overloading
3 • Copy Constructors CLO2 L3
• Destructors
• Const vs non-const functions
• Static data members & methods
• Friend functions
4 • Inheritance: CLO3 Quiz-1 L3
• Protected Access modifiers
• Modes of inheritance
• Types of inheritance
• Single/ Basic inheritance
• Multi-Leveled Inheritance
• Inheritance:
• Hieratical Inheritance
• Hybrid Inheritance
• Multiple Inheritance
5 • Virtual base class to solve ambiguity in CLO4 Assignment-2 L4
Multiple Inheritance
• Polymorphism: CLO3 L3
• Types of polymorphism
• Compile Time polymorphism
(Static/Early Binding)
• Run Time polymorphism
(Dynamic/Late Binding)
• Compile Time polymorphism
• Method overloading
• Introduction to operator
overloading
• Unary Operator overloading (prefix
& postfix)
6 • Compile Time polymorphism (Continue) CLO3 Quiz-2 L3
• Introduction to operator
overloading
• Unary Operator overloading (prefix
Department of Computer Science & Software Engineering
& postfix)
• Compile Time polymorphism (Continue)
• Binary Operator overloading
7 • Compile Time polymorphism (Continue) CLO3 L3
• Friend Unary Operator overloading
• Compile Time polymorphism (Continue)
• Friend Binary Operator
overloading
8 • Identification of classes and their CLO2 L3
relationships
• Aggregation
• Composition
9 CLO3 L3
Midterm
10 • Friend Class CLO3 Project L3
• this pointer
• new and delete operator
• Normal Member Functions Accessed with
Pointers
• Run Time polymorphism (Dynamic)
• Overriding methods and
Constructor
• Virtual functions
• Normal Member Functions
Accessed with Pointers
11 • Abstract classes and Pure Virtual Function CLO3 Assignment-3 L3
• Interfaces
• Abstract classes and Pure Virtual Function
Examples
12 • Generic programming concepts CLO3 Quiz-3 L3
• Function & class templates
13 • Exception handling in OOP CLO4 L4