Banasthali Vidyapith
Department of Computer Science
Course Handout
[Link]. (IT/EC) IV Semester December 2023 – May 2024
Date: 27-12-2023
Course Code: CS 214 Course Name: Object Oriented Programming
Credit Points: 4 Max. Marks: 100 (CA: 40+ ESA: 60)
Course Instructor:
Dr. Swati Nigam, Assistant Professor, Computer Science
Learning Outcomes:
• After successful completion of the course students will be able to describe the features of C++
supporting object oriented programming.
• Explain the relative merits of C++ as an object oriented programming language.
• Describe how to apply the major object-oriented concepts to implement object oriented
programs in C++, encapsulation, inheritance and polymorphism.
• Apply advanced features of C++ specifically stream I/O, templates and operator overloading
• Apply other features of the C++ language including templates, forms of casting, conversions,
and file handling.
Syllabus
Section A
Basic Concept of Object Oriented Programming: Need of OOP, advantage over other
programming paradigms, Tokens, Keywords, Identifiers and Constants, Basic Data
Types, Control Structures. Functions: Call by Value, Call by Reference, Function
Overloading.
Class & Objects: Concepts of Objects & Classes, declaring multiple objects, array of
objects, Friend Functions.
Section B
Constructors and Destructors: Introduction, Default, Parameterized and Copy
Constructor, Concept and use of destructors. Operator Overloading: Overloading Unary
Operators, Overloading Binary Operators. Inheritance: Derived and Base Class, Public,
Private, Protected, Multiple and Multilevel Inheritance, Function Overriding. Pointers:
Pointers to Objects, this Pointer, Virtual Functions, Polymorphism.
Section C
Console I/O: Concept of Streams, Hierarchy of Console stream Classes, Unformatted and
formatted I/O Operations, Managing Output with Manipulators Templates: Class and
function templates, overloading of function templates File Handling: Classes for file
stream operations, open and close a file, EOF, file modes, file pointers and their
manipulators, sequential I/O operations, updating a file-Random access, Error Handling
During File Operation.
Suggested Readings:
R1. Balagurusamy, E. (2020). Object Oriented Programming with C++, 6e. Tata McGraw-
Hill Education.
R2. Schildt, H. (2017). C++: The complete reference. McGraw-Hill.
R3. Lafore, R. (2008). Object Oriented Programming in C++. Pearson Education.
R4. Stroustrup, B. (2013). The C++ Programming Language. Pearson Education India.
R5. Venugopal, K. R. (2013). Mastering C++. Tata McGraw-Hill Education.
Suggested E-Learning Material:
1. Stroustrup, B. (2013). The C++ Programming Language. Pearson Education India.
[Link]
2. Programming in C++ [Link]
Assessment Schedule:
Component Marks Submission/ Allotment/Syllabus
Examination Date(s)
Assignment 1** 10 24 January, 2024 Topics shall be
allotted in the
class by 07
January, 2024
Periodical Test 1 10 02-05 February, 2024* Based on section
A & some part of
section B
Assignment 2** 10 28 February, 2024 Topics shall be
allotted in the
class by 12
February, 2024
Periodical Test 2 10 15-18 March, 2024* Based on section
B & some part of
section C
End-Semester 60 18 April- 5 May, 2024* Entire Syllabus
Examination
* Subject to change.
** Assignment marks will be based on written document(s)/ any other component(s) as decided by the
instructor(s).
Lecture-Wise Schedule:
Lectures Topic to be covered Suggested Readings
SECTION – A
1-3 Basic Concept of OOP R1, R3, R4
4-8 Programming paradigm, data types R1, R5
Loops, and basic programming in R1,R5
9-10
C++
Functions: Call by Value, Call by R1, R2,R5
11-14
Reference, Function Overloading
15-19 Class and Objects: Basic concepts, R1,R3
multiple objects, array of objects,
friend functions
SECTION- B
20-22 Constructors and Destructors R1, R2
23-26 Operator overloading R1, R2
Inheritance: Derived and Base R1, R2, R3
class, Public, Private, Protected,
27-32
Multiple and Multilevel
Inheritance, Function Overriding
SECTION C
33-36 Pointers R1, R3,R5
Unformatted and formatted I/O R1, R2
37-41 Operations, Managing Output with
Manipulators
Templates: Class and function R1, R2 ,R3
templates, overloading of function
42-46
templates.
File Handling: Classes for file R1, R2, R3
stream operations, open and close a
file, EOF, file modes, file pointers
and their manipulators, sequential
47-50
I/O operations, updating a file-
Random access, Error Handling
During File Operation.