DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
KATHMANDU UNIVERSITY
COURSE PLAN
COMP 116: Object Oriented Programming
Year: I
Semester: II
Credit: 3
Instructor: Praynita Karki
Course Description:
This course introduces the fundamental concepts of object-oriented programming constructs in
C++.Topics includes Classes, Objects, Inheritance, Polymorphism and Template etc.
Grading Policy:
Internal I 10
Internal II 10
Project 5
Presentation 2.5
Assignment 2.5
Lab Reports 5
Final Lab Exam(Practical + Viva) 15
Reference Books:
E Balagurusamy, ‘Object Oriented Programming with C++”, McGraw-Hill
John R. Hubbard, “Theory and Problems of Programming with C++, 2/e”, McGraw-Hill.
H. M. Deitel, “C++ How to Program” D&D.
Friedman and Koffman, “Problem Solving, Abstraction and Design using C++ , 5/e”,
Addison-Wesley.
CONTENTS
Chapter 1. Introduction to Object Oriented Programming [4 hours]
· Concept of Object Oriented Paradigm
· Features of OOP
· Benefits of OOP
Chapter 2. Introducing C++ [4 hours]
· Introduction
· A sample C++ program
· Reference Variables
· Inline Functions
· Function Overloading
· Comparison between C and C++
Chapter 3. Classes and Objects [6 hours]
· Introduction to class and objects
· Defining a class with member function
· Private Member Functions
· Initializing an Object
· Static Data Members
· Static Member Functions
Chapter 4. Object Constructions and Destructions [5 hours]
· Introduction to Constructor
· Parameterized Constructor
· Copy Constructor
· Destructor
Chapter 5. Operator Overloading [6 hours]
· Introduction
· Defining Operator Overloading
· Overloading Unary Operators
· Overloading Binary Operators
· Overloading Binary Operators using Friend Functions
I Internal Exam
Chapter 6. Inheritance[6 hours]
· Introduction
· Base Classes and Derived Classes
· Single Inheritance and Multiple Inheritance
· Protected Members
· Virtual Base classes and Abstract classes
· Constructors and Destructor in Derived Classes
Chapter 7. Polymorphism [6 hours]
· Introduction
· Pointers to Objects
· Pointers to Derived Classes
· Virtual Functions
· Pure Virtual Functions
Chapter 8. Template [4 hours]
· Introduction
· Class Templates
· Function Templates
Chapter 9. Exception Handling [4 hours]
· Introduction
· Basics of Exception Handling
· Exception Handling Mechanism
· Throwing and Catching Exception
· Re-throwing an Exception
II Internal Exam