[go: up one dir, main page]

0% found this document useful (0 votes)
196 views12 pages

Oops Cho

Uploaded by

rk.keshav06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
196 views12 pages

Oops Cho

Uploaded by

rk.keshav06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Course Plan

A. Course Handout(Version 1.0)

Institute/School Name Chitkara University Institute of Engineering and Technology


Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Course Name Object Oriented Programming Session 2024-2025
Course Code 22CS006 Semester/Batch 3rd/2023
L-T-P (Per Week) 4-0-4 Course Credits 06
Course Coordinator Dr. Jatin Arora

Understand C++ language features, basics of problem solving aspects for logic building by
CLO01 using data types, variables, operators and expressions.

CLO02 Choose the appropriate object oriented programming constructs to solve the problems
using classes, objects, recursion and constructors.

CLO03 Apply inheritance, early binding and late binding in C++ to formulate new solutions for
programming problems.

CLO04 Determine the bugs in a program using exceptional handling and recognize basic need of
templates.
CLO05 Design and develop reusable and modular code for collaborative team based software
development.

1. Objectives of the Course

The course provides a wide scope of learning & understanding of the subject. The main objectives of the course
are :
● To formulate proficient solutions of programming problems using object oriented constructs.
● To demonstrate the importance of major features of object oriented programming such as
encapsulation, inheritance, code extensibility, reusability, and polymorphism.
● To customize their own templates and implement the generic programming.
● To evaluate and improve the existing programs using Standard Template Library.

2. Course Learning Outcomes

After completion of the course, student should be able to:

Sr. No Course Outcome *POs **CL ***KC Sessions

Understand C++ language PO1,PO2,PO4,PO K2 Factual 16


features, basics of problem 5, PO9,PO12 Conceptual
solving aspects for logic
CLO01
building by using data types,
variables, operators and
expressions.
CLO02 Choose the appropriate object PO1,PO2,PO4,PO K3 Conceptual 20
oriented programming 5, PO12 Procedural
programming constructs to
solve the problems using
classes, objects, recursion and
constructors.

Object Oriented Programming/ 22CS006 Page 1 of 12


Course Plan

CLO03 Apply inheritance, early binding PO1,PO3,PO4,PO K4 Conceptual 14


and late binding in C++ to 5, PO11,PO12 Procedural
formulate new solutions for
programming problems.
CLO04 Determine the bugs in a PO1,PO3,PO5, K3 Procedural 16
program using exceptional PO10,PO11
handling and recognize basic
need of templates.
CLO05 Design and develop reusable PO2,PO4,PO9, K4 Procedural 14
and modular code for PO10,PO11
collaborative team based
software development
Total Contact Hours 80

Revised Bloom’s Taxonomy Terminology


* PO's available at
**Cognitive Level =CL
***Knowledge Categories = KC

CLO-PO mapping grid |Program outcomes (POs) are available as a part of Academic Program Guide (APG)
Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Learning
Outcome
s

CLO01 H L M H M M

CLO02 M L M M M M

CLO03 L M M L M

CLO04 M H H L

CLO05 M H H M M
H=High, M=Medium, L=Low

3. ERISE Grid Mapping


Feature Enablement Level(1-5, 5 being highest)

Entrepreneurship 2

Research 1

Innovation 3

Skills 5

Employability 4

Object Oriented Programming/ 22CS006 Page 2 of 12


Course Plan

4. Recommended Books:

Text Books:
B01: ‘Object Oriented Programming with C++’ by E Balagurusamy, 6th Edition, Tata McGraw Hill.
B02: Object Oriented Programming in C++’ by Robert Lafore, 4th Edition, Galgotia.
B03: The Complete Reference C++’ by Herbert Schildt , 4th Edition ,Tata McGraw Hill.
B04: Stroustrup, Bjarne, The C++ Programming Language, Pearson Education .
B05: Lippman, S.B. and Lajoie, J., C++Primer, Pearson Education .
B06: C-The Complete Reference, Herbert Schildt,4th edition, McGraw Hill Education, 2017
B07: The C Programming Language, Brian W. Kernighan, and Dennis M. Ritchie, 2nd Edition, Pearson, 2015
E-Resourses:
● https://library.chitkara.edu.in/subscribed-books.php
● https://www.sciencedirect.com/science/article/pii/B9780123507723500069?via%3Dihub

5. Other readings and relevant websites:

Serial No Link of Journals, Magazines, websites and Research Papers


1. http://www.cprogramming.com/tutorial/c++-tutorial.html
2. http://www.cplusplus.com/doc/tutorial/
3. http://www.tenouk.com/cncplusplustutorials.html
4. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-088-
introduction-to-c-memory-management-and-c-object-oriented-programming-january-iap-
2010/

6. Recommended Tools and Platforms

GCC Compiler

7. Course Plan:

Lecture Topics Text Book


Number
1-2 History of programming language- complexity and security, Introduction to basic B01,B06
concepts of object-oriented programming- concept of data hiding, abstraction,
encapsulation, inheritance and polymorphism

3-4 Comparison between procedural programming paradigm and object-oriented B06, B07
programming paradigm , Problem solving strategies- Top Down, Bottom up,
Problems on array

5-6 Inline functions, default arguments, function prototyping B01


7-8 Function overloading, call by reference, call by value , call by pointer, return by B01
reference
9-10 Introduction to Name Space, Specifying a class, Creating class objects B01

11-12 Accessing class members, Access specifiers – public, private, and protected (Explain B01
with inheritance), Objects and memory
13-14 Static members, Static objects, constant member function, constant objects B01

15-16 Friend functions, friend class, Passing Object as an argument (by value, by reference, B01,B02
by address), Returning object from a function.

Object Oriented Programming/ 22CS006 Page 3 of 12


Course Plan

17-18 Need for constructors and destructors, Copy constructor and Deep Copy, Dynamic B01,B02
constructors
19-20 Destructors, Constructors and destructors with static members B01
21-22 Defining operator overloading, Rules for overloading operators, Overloading of unary B01,B02
operators
23-24 Binary operators (+, -, /, *), binary operators using friend functions, manipulation of B01,B02
strings using operators Overloading (>, <, = =)

ST-1 (Lecture 1-24)

25-26 Type conversion: Basic type to class type, Class type to basic type, Class to class type. B01
27-28 Understanding pointers, Accessing address of a variable, Declaring & initializing B01,B02
pointers, Accessing a variable through its pointer

29-30 Pointer arithmetic, Pointer to a pointer, Pointer to a function B01,B02

31-32 Dynamic memory management - new and delete Operators, Pointers and classes, B01,B02
Pointer to an object, Pointer to a member

33-34 this Pointer, Possible problems with the use of pointers - Dangling/wild pointers, Null B01,B02
pointer assignment, Memory leak and allocation failures

35-36 Introduction- concept of reuse, Defining derived classes B01,B02

37-38 Forms of inheritance (single, multilevel, multiple, hybrid & hierarchical) B01,B02
39-40 Ambiguity in multiple and multipath inheritance (Diamond Problem) B01,B02

41-44 Inheritance with constructor, Function Overriding Vs Function Overloading B01


45-46 Concept of Binding, Early binding and late binding, B02

47-48 Virtual functions, Pure virtual functions, B02

ST-2 (Lecture 1-48)

49-50 Abstract classes, Virtual destructors & polymorphism, Order of execution of Virtual B01,B02
functions
51-52 Overriding member functions, Accessing base class functions B01,B02

53-54 Order of execution of constructors and destructors, Problems on strings B01


55-56 Review of traditional error handling, Basics of exception handling B01
57-58 Exception handling mechanism, Throwing mechanism, Catching mechanism B01
59-60 Re-throwing an exception, Specifying exceptions, Problems on recursion B01

61-62 Concept of streams, Input/ Output using Overloaded operators >> and << and B01
Member functions of I/O stream classes.
63-64 File streams, Hierarchy of file stream classes B01

ST-3 (Lecture 1-64)

65-66 Error handling during file operations B01

67-68 Reading/Writing of files accessing records randomly B01

Object Oriented Programming/ 22CS006 Page 4 of 12


Course Plan

69-72 Standard Template Library: Containers B03, B05

73-76 Standard Template Library: Iterators and Algorithms. B03, B05

77-78 Standard Template Library: Vectors B03, B05

79-80 Standard Template Library: list and map B03, B05

ETE (Lecture 1-80)

8. Delivery/Instructional Resources
Lecture Topics Web References Audio-Video
Number
1-2 History of programming language- https://www.geeksforgeeks. https://onlinecourse
complexity and security, Introduction to org/the-evolution-of- s.nptel.ac.in/noc24_
basic concepts of object-oriented programming-languages/ cs125/preview
programming- concept of data hiding,
abstraction, encapsulation, inheritance
and polymorphism

3-4 Comparison between procedural https://www.javatpoint.com https://onlinecourse


programming paradigm and object- /procedural-programming- s.nptel.ac.in/noc24_
oriented programming paradigm, Problem vs-object-oriented- cs125/preview
solving strategies- Top Down, Bottom up, programming
Problems on array

5-6 Inline functions, default arguments, https://ocw.mit.edu/course https://www.youtub


function prototyping s/6-096-introduction-to-c- e.com/watch?v=efXI
january-iap- 8anQwXo&list=PLEA
2011/resources/mit6_096ia YkSg4uSQ2qzihjdDEs
p11_lec03/ eWrrY1DyxH9P

7-8 Function overloading, call by reference, https://ocw.mit.edu/course https://www.youtub


call by value , call by pointer, return by s/6-096-introduction-to-c- e.com/watch?v=efXI
reference january-iap- 8anQwXo&list=PLEA
2011/resources/mit6_096ia YkSg4uSQ2qzihjdDEs
p11_lec03/ eWrrY1DyxH9P

9-10 Introduction to Name Space, Specifying a https://www.cse.iitb.ac.in/~ https://www.youtub


class, Creating class objects cs101/2019.1/lectures/Lect e.com/watch?v=i_5p
11-12 Accessing class members, Access specifiers ure20.pdf vt7ag7E
– public, private, and protected (Explain
with inheritance), Objects and memory

13-14 Static members, Static objects, constant https://ocw.mit.edu/course https://www.youtub


member function, constant objects s/6-096-introduction-to-c- e.com/watch?v=i_5p
january-iap-2011/ vt7ag7E

Object Oriented Programming/ 22CS006 Page 5 of 12


Course Plan

15-16 Friend functions, friend class, Passing https://ocw.mit.edu/course https://www.youtub


Object as an argument (by value, by s/6-096-introduction-to-c- e.com/watch?v=i_5p
reference, by address), Returning object january-iap-2011/ vt7ag7E
from a function.
17-18 Need for constructors and destructors, https://ocw.mit.edu/course https://www.youtub
Copy constructor and Deep Copy, Dynamic s/electrical-engineering- e.com/watch?v=uIjgl
constructors and-computer-science/6- 6qBfFc
096-introduction-to-c-
january-iap-2011/lecture- https://www.youtub
notes e.com/watch?v=oRB
K0Mh_gG0
19-20 Destructors, Constructors and destructors https://ocw.mit.edu/course https://www.youtub
with static members s/electrical-engineering- e.com/watch?v=uIjgl
and-computer-science/6- 6qBfFc
096-introduction-to-c-
january-iap-2011/lecture- https://www.youtub
notes e.com/watch?v=oRB
K0Mh_gG0
21-22 Defining operator overloading, Rules for https://www3.ntu.edu.sg/h https://www.youtub
overloading operators, Overloading of ome/ehchua/programming/ e.com/watch?v=Z_0
unary operators cpp/cp4_PointerReference. xXmOgYtY
html
https://www.youtub
https://ocw.mit.edu/course e.com/watch?v=nAG
s/electrical-engineering- joysNM4s
and-computer-science/6-
096-introduction-to-c-
january-iap-2011/lecture-
notes/
23-24 Binary operators (+, -, /, *), binary https://www3.ntu.edu.sg/h https://www.youtub
operators using friend functions, ome/ehchua/programming/ e.com/watch?v=Z_0
manipulation of strings using operators cpp/cp4_PointerReference. xXmOgYtY
Overloading (>, <, = =) html
https://www.youtub
https://ocw.mit.edu/course e.com/watch?v=nAG
s/electrical-engineering- joysNM4s
and-computer-science/6-
096-introduction-to-c-
january-iap-2011/lecture-
notes/
25-26 Type conversion: Basic type to class type, https://www3.ntu.edu.sg/h https://www.youtub
Class type to basic type, Class to class type. ome/ehchua/programming/ e.com/watch?v=Z_0
cpp/cp4_PointerReference. xXmOgYtY
html
https://www.youtub
https://ocw.mit.edu/course e.com/watch?v=nAG
s/electrical-engineering- joysNM4s
and-computer-science/6-
096-introduction-to-c-
january-iap-2011/lecture-
notes/

Object Oriented Programming/ 22CS006 Page 6 of 12


Course Plan

27-28 Understanding pointers, Accessing address https://www.w3schools.co https://www.youtub


of a variable, Declaring & initializing m/cpp/cpp_pointers.asp e.com/watch?v=cVL
pointers, Accessing a variable through its w5HeL3JM
pointer
29-30 Pointer arithmetic, Pointer to a pointer, https://www.w3schools.co https://www.youtub
Pointer to a function m/cpp/cpp_pointers.asp e.com/watch?v=cVL
w5HeL3JM
31-32 Dynamic memory management - new and https://www3.ntu.edu.sg/h https://www.youtub
delete Operators, Pointers and classes, ome/ehchua/programming/ e.com/watch?v=Z_0
Pointer to an object, Pointer to a member cpp/cp4_PointerReference. xXmOgYtY
html
https://www.youtub
https://ocw.mit.edu/course e.com/watch?v=nAG
s/electrical-engineering- joysNM4s
and-computer-science/6-
096-introduction-to-c-
january-iap-2011/lecture-
notes/
33-34 this Pointer, Possible problems with the https://www3.ntu.edu.sg/h https://www.youtub
use of pointers - Dangling/wild pointers, ome/ehchua/programming/ e.com/watch?v=Z_0
Null pointer assignment, Memory leak and cpp/cp4_PointerReference. xXmOgYtY
allocation failures html
https://www.youtub
https://ocw.mit.edu/course e.com/watch?v=nAG
s/electrical-engineering- joysNM4s
and-computer-science/6-
096-introduction-to-c-
january-iap-2011/lecture-
notes/
35-36 Introduction- concept of reuse, Defining https://www.w3schools.in/c https://www.youtub
derived classes plusplus- e.com/watch?v=jflvI
tutorial/inheritance/ a60EAg
37-38 Forms of inheritance (single, multilevel, https://www.w3schools.in/c https://www.youtub
multiple, hybrid & hierarchical) plusplus- e.com/watch?v=jflvI
tutorial/inheritance/ a60EAg
39-40 Ambiguity in multiple and multipath https://www.w3schools.in/c https://www.youtub
inheritance (Diamond Problem) plusplus- e.com/watch?v=jflvI
tutorial/inheritance/ a60EAg
41-44 Inheritance with constructor, Function https://view.officeapps.live. https://www.youtub
Overriding Vs Function Overloading com/op/view.aspx?src=http e.com/watch?v=8fD
s%3A%2F%2Fjpwebdevelop ao3MBbwk
ers.in%2Fppts%2Finheritanc
e.pptx&wdOrigin=BROWSEL
INK

45-46 Concept of Binding, Early binding and late https://www.w3schools.in/c https://www.youtub


binding, plusplus- e.com/watch?v=jflvI
tutorial/polymorphism/ a60EAg
47-48 Virtual functions, Pure virtual functions, https://www.w3schools.in/c https://www.youtub
plusplus- e.com/watch?v=jflvI
tutorial/polymorphism/ a60EAg

Object Oriented Programming/ 22CS006 Page 7 of 12


Course Plan

49-50 Abstract classes, Virtual destructors & https://www.geeksforgeeks. https://www.youtub


polymorphism, Order of execution of org/virtual-destructor/ e.com/watch?v=DJS
Virtual functions 9eSN4jAc
51-52 Overriding member functions, Accessing https://view.officeapps.live. https://www.youtub
base class functions com/op/view.aspx?src=http e.com/watch?v=8fD
s%3A%2F%2Fjpwebdevelop ao3MBbwk
ers.in%2Fppts%2Finheritanc
e.pptx&wdOrigin=BROWSEL
INK

53-54 Order of execution of constructors and https://view.officeapps.live. https://www.youtub


destructors, Problems on strings com/op/view.aspx?src=http e.com/watch?v=8fD
s%3A%2F%2Fjpwebdevelop ao3MBbwk
ers.in%2Fppts%2Finheritanc
e.pptx&wdOrigin=BROWSEL
INK

55-56 Review of traditional error handling, Basics https://www.coursehero.co https://www.youtub


of exception handling m/file/129688644/Lecture- e.com/watch?v=-
9-Exception-handlingppt/ frZ8btNBSU
57-58 Exception handling mechanism, Throwing https://www.coursehero.co https://www.youtub
mechanism, Catching mechanism m/file/129688644/Lecture- e.com/watch?v=-
9-Exception-handlingppt/ frZ8btNBSU
59-60 Re-throwing an exception, Specifying https://www.coursehero.co https://www.youtub
exceptions, Problems on recursion m/file/129688644/Lecture- e.com/watch?v=-
9-Exception-handlingppt/ frZ8btNBSU
61-62 Concept of streams, Input/ Output using https://www.geeksforgeeks. https://www.youtub
Overloaded operators >> and << and org/cpp-stl-tutorial/ e.com/watch?v=W7
Member functions of I/O stream classes. uB9-TKfTg

https://courses.cs.washingt
on.edu/courses/cse333/18s
u/lectures/14-c++-STL.pdf
63-64 File streams, Hierarchy of file stream https://www.w3schools.co https://www.youtub
classes m/cpp/cpp_files.asp e.com/watch?v=I0jb
nrJM5zY&list=PLiekD
ZFMHZAxPhb6UYI3N
1IrQzpsMRh6Y
65-66 Error handling during file operations https://www.w3schools.co https://www.youtub
m/cpp/cpp_files.asp e.com/watch?v=I0jb
nrJM5zY&list=PLiekD
ZFMHZAxPhb6UYI3N
1IrQzpsMRh6Y
67-68 Reading/Writing of files accessing records https://www.w3schools.co https://www.youtub
randomly m/cpp/cpp_files.asp e.com/watch?v=I0jb
nrJM5zY&list=PLiekD
ZFMHZAxPhb6UYI3N
1IrQzpsMRh6Y
69-72 Standard Template Library: Containers https://www.geeksforgeeks. https://www.youtub
org/cpp-stl-tutorial/ e.com/watch?v=W7
uB9-TKfTg
73-76 Standard Template Library: Iterators and https://www.geeksforgeeks. https://www.youtub
Algorithms. org/cpp-stl-tutorial/ e.com/watch?v=W7
uB9-TKfTg

Object Oriented Programming/ 22CS006 Page 8 of 12


Course Plan

77-78 Standard Template Library: Vectors https://www.geeksforgeeks. https://www.youtub


org/cpp-stl-tutorial/ e.com/watch?v=W7
uB9-TKfTg
79-80 Standard Template Library: list and map https://www.geeksforgeeks. https://www.youtub
org/cpp-stl-tutorial/ e.com/watch?v=W7
uB9-TKfTg

9. Lab Plan

Sr. Lab
Experiments Learning Resource
No. Number
https://www.geeksforgeeks.org/program-for-
factorial-of-a-number/
P1 Factorial of a number
P2 Swap two numbers without using https://www.geeksforgeeks.org/swap-two-numbers-
1 1-2
third one without-third-variable-in-cpp/
P3 Sum of a set of numbers
https://www.geeksforgeeks.org/cpp-program-to-
find-sum-of-first-n-natural-numbers/
https://www.programiz.com/cpp-
programming/strings
P1 Functions to Display String
2 3-4
P2 Print Kth largest number https://www.geeksforgeeks.org/k-largestor-
smallest-elements-in-an-array/

https://www.tutorialspoint.com/cplusplus-program-
P1 Create Class - Rectangle
to-create-one-rectangle-class-and-calculate-its-area
3 5-8 P2 Find occurrences of palindrome
https://www.geeksforgeeks.org/java-program-
words in a string
count-number-palindrome-words-sentence/
https://www.tutorialspoint.com/cplusplus/cpp_date
P1 Create Class - Date
_time.htm
4 9-10 P2 Capitalize the first letter of each
https://www.w3resource.com/cpp-
word
exercises/string/cpp-string-exercise-3.php
https://www.tutorialspoint.com/cplusplus/cpp_class
es_objects.htm#:~:text=C%2B%2B%20Class%20Defin
itions&text=class%20Box%20%7B%20public%3A%20
P1 Create class - Box double%20length,the%20class%20that%20follows%
5 11-12
P2 Create Class - TimeSpan 20it

https://reference.aspose.com/slides/cpp/system/ti
mespan/
https://www.geeksforgeeks.org/cpp-program-to-
P1 Class - ComplexNumber add-two-complex-numbers/
6 13-16
P2 Create Class - ArrayClass
https://www.geeksforgeeks.org/array-class-c/
https://www.programiz.com/cpp-
programming/examples/inch-feet-structure
P1 Create Class – Distance Calculator
7 17-18
https://www.programiz.com/cpp-
programming/string-class

Object Oriented Programming/ 22CS006 Page 9 of 12


Course Plan

https://www.geeksforgeeks.org/minimize-number-
P1 Cut the sticks of-cuts-required-to-break-n-length-stick-into-n-unit-
8 19-22
P2 Class - IntValue length-sticks/

P1 Inheritance : Actors
https://www.tutorialride.com/cpp-inheritance-
9 23-24 P2 Inheritance : CalculateBill
programs/create-item-wise-bill-c-program.htm
P3 Inheritance : BookCD

P1 Inheritance : Memory Calculator https://www.programiz.com/cpp-


10 25-26
P2 Inheritance : Dice programming/memory-management
https://www.programiz.com/cpp-
programming/exception-handling
P1 Catch multiple exceptions
https://www.geeksforgeeks.org/taking-password-as-
11 27-30 P2 Password too short Exception
input-in-cpp/
P3 Valid email address
https://www.geeksforgeeks.org/check-if-given-
email-address-is-valid-or-not-in-cpp/
https://www.geeksforgeeks.org/how-to-find-the-
12 31-32 P1 Find cumulative sum of a vector
cumulative-sum-of-array-in-cpp/
https://www.geeksforgeeks.org/find-average-of-all-
elements-in-a-vector-in-cpp/
P1 Find mean of a vector
13 33-34
P2 Find the numbers appearing thrice
https://www.geeksforgeeks.org/find-all-array-
elements-occurring-more-than-⌊n-3⌋-times/
https://www.tutorialspoint.com/count-elements-in-
14 35-36 P1. Count in range from a vector a-vector-that-match-a-target-value-or-condition-in-
cplusplus
https://www.geeksforgeeks.org/how-to-find-the-
P1 Find minimum of a template array minimum-and-maximum-element-of-an-array-using-
P2 Check for balanced parentheses in stl-in-c/
15 37-40
string
https://www.tutorialspoint.com/check-for-balanced-
parentheses-in-an-expression-in-cplusplus

10. Action plan for different types of learners

Slow Learners Average Learners Fast Learners


Remedial Classes Pre-coded algorithms to Design solutions for complex
Doubt Sessions illustrate concepts problems
Guided Tutorials E-notes and E-exercises to read Coding Competitions,
Use of audio and visual material ahead of the pedagogic Project
material

11. Evaluation Scheme & Components:

Evaluation No. of Weightage of Mode of


Type of Component
Component Assessments Component Assessment
Component 2 Sessional Tests (STs) 03* 40% Online platform
Component 3 End Term Examination 01** 60% Online platform

Object Oriented Programming/ 22CS006 Page 10 of 12


Course Plan

Total 100%
*Students will have to appear in all Sessional Tests.
Makeup Examination will compensate for either ST1 or ST2 (Only for genuine cases, based on the Dean’s approval).
**As per Academic Guidelines, a minimum of 75% attendance is required to become eligible for appearing in the End Semester Examination.

12. Syllabus of the Course:

No. of
S. No. Topic (s) Weightage %
Sessions
1 History of programming language- complexity and security, 24 30%
Introduction to basic concepts of object-oriented programming-
concept of data hiding, abstraction, encapsulation, inheritance and
polymorphism
Comparison between procedural programming paradigm and object-
oriented programming paradigm , Problem solving strategies- Top
Down, Bottom up, Problems on array
Inline functions, default arguments, function prototyping
Function overloading, call by reference, call by value , call by pointer,
return by reference, Introduction to Name Space, Specifying a class,
Creating class objects, Accessing class members, Access specifiers –
public, private, and protected (Explain with inheritance), Objects and
memory
Static members, Static objects, constant member function, constant
objects, Friend functions, friend class, Passing Object as an argument
(by value, by reference, by address), Returning object from a function.
Need for constructors and destructors, Copy constructor and Deep
Copy, Dynamic constructors
Destructors, Constructors and destructors with static members,
Defining operator overloading, Rules for overloading operators,
Overloading of unary operators
Binary operators (+, -, /, *), binary operators using friend functions,
manipulation of strings using operators Overloading, (>, <, = =)
Sessional Test -1
2 Type conversion: Basic type to class type, Class type to basic type, Class 48 60%
to class type. Understanding pointers, Accessing address of a variable,
Declaring & initializing pointers, Accessing a variable through its
pointer, Pointer arithmetic, Pointer to a pointer, Pointer to a function,
Dynamic memory management - new and delete Operators, Pointers
and classes, Pointer to an object, Pointer to a member
this Pointer, Possible problems with the use of pointers - Dangling/wild
pointers, Null pointer assignment, Memory leak and allocation failures,
Introduction- concept of reuse, Defining derived classes, Forms of
inheritance (single, multilevel, multiple, hybrid & hierarchical)
Ambiguity in multiple and multipath inheritance (Diamond Problem)
Inheritance with constructor, Function Overriding Vs Function
Overloading ,Concept of Binding, Early binding and late binding, Virtual
functions, Pure virtual functions.
Sessional Test -2
3 Abstract classes, Virtual destructors & polymorphism, Order of 64 80%
execution of Virtual functions. Overriding member functions,
Accessing base class functions, Order of execution of constructors and
destructors, Problems on strings, Review of traditional error handling,
Basics of exception handling
Exception handling mechanism, Throwing mechanism, Catching
mechanism, Re-throwing an exception, Specifying exceptions,

Object Oriented Programming/ 22CS006 Page 11 of 12


Course Plan

Problems on recursion, Concept of streams, Input/ Output using


Overloaded operators >> and << and Member functions of I/O stream
classes.
File streams, Hierarchy of file stream classes

Sessional Test -3
4 Error handling during file operations. 80 100%
Reading/Writing of files accessing records randomly
Standard Template Library: Containers Standard Template Library:
Iterators and Algorithms. Standard Template Library: Vectors,
Standard Template Library: list and map

End Term Examination (ETE)

This Document is approved by:

Designation Name Signature


Course Coordinator Dr. Jatin Arora
Head-Academic Delivery Dr. Mrinal Paliwal
Dean Dr. Rishu Chhabra
Dean Academics Dr. Monit Kapoor
Date 26.06.2024

Object Oriented Programming/ 22CS006 Page 12 of 12

You might also like