Oops CPP
Oops CPP
By
Mr G. Manidheer Babu
Asst.Professor
Department of CSE
PROGRAM OUTCOMES (POs):
HOD
COURSE CONTENTS
COURSE OBJECTIVES & COURSE OUTCOMES
Course Name: Object Oriented Programming through C++
Course Code:R2021051
Year - Sem:II B. Tech – I Sem Regulation: R20
Course Objectives:
Describe the procedural and object-oriented paradigm with concepts of streams,
classes, functions, data and objects
Understand dynamic memory management techniques using pointers, constructors,
destructors Describe the concept of function overloading, operator overloading,
virtual functions and polymorphism
Classify inheritance with the understanding of early and late binding, usage of
exception handling, generic programming
Demonstrate the use of various OOPs concepts with the help of programs
Course Outcomes:
Classify object-oriented programming and conventional programming
Apply C++ features such as composition of classes and objects and constructors and
destructors
Build C++ classes using operator overloading and inheritance
Build C++ classes using pointers, binding polymorphism and virtual functions
Apply object-oriented techniques using Generic Programming with templates and
exception handling to solve bigger computing problems
Solve real-world problems using object-oriented techniques
CO/PO MAPPING:
Mappin P0 P01
P01 P02 P03 P04 P05 P06 P07 P08 P010 P011 PS01 PSO2
g 9 2
C202.1 3 2 2 2 - - - - - - - 2 2 2
C202.2 3 2 3 2 - - - - - - - 3 2 3
C202.3 3 2 3 2 - - - - - - - 2 3 2
C202.4 3 2 3 3 - - - - - - - 2 2 2
C202.5 3 2 3 2 - - - - - - - 3 3 3
C202.6 3 2 3 3 - - - - -- - - 3 3 2
AVG 3 2 2.8 2.3 - - - - - - - 2.5 2.5 2.3
PO1 3
Understanding and applying generic
programming concepts requires foundational
engineering knowledge.
PO2 2
Analysing exceptional handling techniques and
Applyobject- templates such as synchronization and
orientedtechniques deadlocks
using Generic
Designing Java applications that are well-
PO3 3 structured using packages and robust using
exception handling
Using research-based knowledge using
PO4 Programming with 3
generic programming in exception handling
templates and
exception handling Adopting these modern programming practices
to solve bigger prepares students for the evolving field of
computing problems software engineering and ensures they remain
PO12 (K3) 2
capable of continuous self-improvement and
life-long learning as new techniques and
technologies emerge.
To design and implement generic classes and
functions in C++ using templates, enhancing
PSO1 3
code reusability and type independence to
address complex computational problems.
To exhibit proficiency in implementing robust
exception handling mechanisms in C++,
PSO2 2 ensuring graceful error management and
stability in software applications under varying
runtime conditions.
C202.6 Understanding and applying generic
PO1 3 programming concepts requires foundational
Solve real-world
engineering knowledge
problems using
object-oriented This leads to better data integrity and security,
PO2 2
techniques(K3) minimizing the risk of unintended interactions
PO3 3
Designing Java applications that are well-
structured using packages and robust using
exception handling.
UNIT-III
T1
L34 The Keyword Operator, Operator Return Type CL
T1
L42 Rules for Overloading Operators TPS
T1
L43 Inheritance, Reusability TPS
T1
L44* Types of Inheritance FM
UNIT IV
T1
L46 Virtual Base Classes GB&PC
T2
L66* Normal Function Templates FM
T2
L67 Over Loading of Template Function GB&PC
Teaching-Learning Methods
TPS: Think-Pair-Share
Text Books:
1) A First Book of C++Gary Bronson, Cengage Learning.
2) The Complete Reference C++, Herbert Schildt,TMH.
Signature of the Faculty HOD
1 Limited exposure to current industry tools and PO1, PO2, PO3, PO4, PO5
frameworks (e.g., Qt, Boost)
2 Lack of experience with agile methodologies and PO1, PO2, PO3, PO4, PSO1
collaborative tools (e.g., Jira, Trello).
PSO2, PO3
5 Limited opportunities for students to engage in real- PO1, PO2, PO3, PO4,
world problem-solving or industry projects.
PSO1, PSO2PSO3, PSO4
GAPS ADDRESSED BY ANY OTHER TEACHING
AID/METHODOLOGY
Methodology: Use visual diagrams and tools (like UML diagrams) to illustrate class
relationships and object interactions. Simulations can help visualize memory allocation and
object lifecycles.
3. Collaborative Learning
Methodology: Assign video lectures or reading materials on OOP concepts for homework,
then use class time for hands-on coding exercises, discussions, and troubleshooting real-
world problems.
5. Project-Based Learning
Methodology: Design projects that require students to build applications using OOP
principles. Real-world projects, like a simple game or a library management system, can
motivate students and enhance learning.
LECTURE NOTES
LIST OF POWER POINT
PRESENTATION/VIDEOS INCLUDING CD
UNIVERSITY QUESTION PAPERS
INTERNAL QUESTION PAPERS, KEY WITH CO AND BT
Course Name: Object Oriented Programming Course Code: C202
through C++(R2021051)
Year/ Sem:II B. Tech – I Sem Regulation: R20
Admitted Batch: 2022-2026 Academic Year:2023-24
Course Coordinator:
CO DESCRIPTION
CO1 Classify object-oriented programming and conventional programming
CO2 Apply C++ features such as composition of classes and objects and constructors
and destructors
CO3 Build C++ classes using operator overloading and inheritance
CO4 Build C++ classes using pointers, binding polymorphism and virtual functions
CO5 Apply object-orientedtechniques using Generic Programming with templates and
exception handling to solve bigger computing problems
CO6 Solve real-world problems using object-oriented techniques
Table: Questions with their levels along with the COs for the Web technologies
Vignan’s Nirula Institute of Technology and Science for Women
Pedapalakaluru: Guntur
Branch:CSE Time: 1:30 Hrs
II B. Tech I Semester – I MID
Course Name: OOPS C++ Regulation: R20 Course Code: (R2021051)
Date: 05-10-2023 Academic Year:2023-24 Max Marks: 30
b) friend function (5 M)
Justification of Bloom’s taxonomy action verbs in question paper:
CO Unit No Q. No Questions
Assignment 1
Assignment 5
1 Explain the concept of move semantics in C++.
2 How do you implement smart pointers in C++?
Analyse the differences between shallow and deep
CO5 4 3 copying.
Assignment 6
1 Compare the differences between throw and catch in C++.
2 Identify the characteristics of an abstract class in C++.
Discuss the difference between abstract classes and
CO6 5 3 interfaces in C++
SCHEME OF EVALUATION WITH CO AND BT MAPPING
1. a) Explain about Abstract classes and virtual base class in C++ programming.
Abstract classes definition -----2.5M
Virtual base class -----2.5M
b) Identify the advantages and disadvantages of Inheritance in C++.
Advantages of Inheritance ----2.5M
Disadvantagesof Inheritance ----2.5M
2. a) Explain in detail how the members of a class can be accessed using pointer to base
class and derived class with example program.
Definition of a pointer --------1M
Writing a program for members of a class accessing using pointer ----- 1.5M
Definition of a derived class----1M
Example program for derived class-----1.5M
b) Explain the purpose of Virtual Destructors in C++ and Develop a Sample program
Purpose of Virtual Destructors --------2.5M
Sample program for Virtual Destructors --------2.5M
3. a) Identify and Write short notes on the following features of C++ programming
components. (i) Algorithm (ii) Iterators (iii) Maps, multimaps
Explaining briefly about Algorithm------2.5M
Explaining briefly aboutIterators -------2.5M
Explaining briefly aboutMaps-------2.5M
Explaining briefly aboutmultimaps-------2.5M
TUTORIAL TOPICS
1. Introduction to OOP
Definition of OOP
Benefits of OOP
Comparison with procedural programming
Classes and Objects
Attributes and Methods
Access Specifiers: public, private, protected
Default Constructor
Parameterized Constructor
Copy Constructor
Destructor and its role in resource management
4. Inheritance
Single Inheritance
Multiple Inheritance
Multilevel Inheritance
Hierarchical Inheritance
Hybrid Inheritance
Accessing Base Class Members
5. Polymorphism
Function Overloading
Operator Overloading
Virtual Functions and Dynamic Binding
Abstract Classes and Interfaces
6.Encapsulation and Data Hiding
7. Templates
Function Templates
Class Templates
Template Specialization
8. Exception Handling
Introduction to STL
Using Containers (Vectors, Lists, Maps)
Iterators and Algorithms
Observation: Many students are not familiar with advanced OOP concepts like
templates, polymorphism, and design patterns.
Analyse Feedback: Gather feedback from students regarding difficulties they faced.
Evaluate Assessments: Review past quizzes, assignments, and projects to identify
areas of weakness.
3. Improve Resources
Hands-On Projects: Assign projects that require students to apply OOP concepts in
meaningful ways (e.g., building applications, games).
Code Reviews: Conduct peer reviews of code to foster critical thinking and learning.
MARKS OF VARIOUS EXAMINATION (QUESTION WISE)