0% found this document useful (0 votes)
34 views

Is2120 Oops c++ Handout

Uploaded by

therealwords.mk
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)
34 views

Is2120 Oops c++ Handout

Uploaded by

therealwords.mk
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/ 7

MANIPAL UNIVERSITY JAIPUR

School of Computing and Intelligent Systems


Course Hand-out
Object-Oriented Programming using C++ | IS2120 | Credit: 01 | 0 0 2 1
Session: Aug. - Nov. 2024 | Faculty: Mr. Prashant Hemrajani (Coordinator)
Class: B. Tech CSE – IoT and Intelligent Systems | SEM: 3

A. INTRODUCTION
This course, offered by the Department of IoT and Intelligent Systems in the 3rd semester
of B.Tech, provides practical knowledge in Object-Oriented Programming (OOP) using C++.
It covers the need for OOP, differences between procedural and object-oriented
languages, and key OOP characteristics. Students will learn C++ fundamentals, including its
history, evolution from C, and key features like header files, namespaces, and data types.
The course delves into operators, arrays, strings, functions, and essential OOP concepts
such as class definitions, object creation, inheritance, and polymorphism. By the end,
students will be adept at developing structured and efficient software using C++.
B. COURSE OUTCOMES
At the end of the course, students will be able to:

[IIS2120.1] Understand the need, differences, and characteristics of Object-


Oriented Programming (OOP).

[IIS2120.2] Demonstrate proficiency in C++ fundamentals, including history,


evolution, and key features like header files and namespaces.

[IIS2120.3] Utilize various data types and operators in C++ effectively for
programming tasks.

[IIS2120.4] Design and implement classes, objects, and inheritance structures in


C++.

[IIS2120.5] Implement compile-time and runtime polymorphism to enhance code


flexibility and reusability.

C. PROGRAM OUTCOMES (B.Tech) AND PROGRAM SPECIFIC OUTCOMES


(B.Tech in CSE – IoT and Intelligent Systems)
[PO. 1] Engineering knowledge: apply the knowledge of mathematics, computer
science, and communication engineering fundamentals to the solution of
complex engineering problems.
[PO. 2] Problem analysis: identify, formulate, review research literature, and
analyse complex engineering problems reaching substantiated conclusions
using basic principles of mathematics, computing techniques and
communication engineering principles.
[PO. 3] Design/development of solutions: design solutions for complex
engineering problems and design system components or processes that meet
the specified requirements with appropriate consideration for law, safety,
cultural & societal obligations with environmental considerations.
[PO. 4] Conduct investigations of complex problems: use research-based
knowledge and research methods including design of experiments, analysis
and interpretation of data, and synthesis of the information to provide valid
conclusions.
[PO. 5] Modern tool usage: create, select, and apply appropriate techniques,
resources, and modern engineering and IT tools including prediction and
modelling to complex engineering activities with an understanding of the
limitations.
[PO. 6] The engineer and society: apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
[PO. 7] Environment and sustainability: understand the impact of the
professional engineering solutions in societal and environmental contexts, and
demonstrate the knowledge of, and need for sustainable development.
[PO. 8] Ethics: apply ethical principles and commit to professional ethics,
responsibilities and norms of the engineering practice.

[PO. 9] Individual and teamwork: function effectively as an individual, and as a


member or leader in diverse teams, and in multidisciplinary settings.
[PO. 10] Communication: communicate effectively for all engineering processes &
activities with the peer engineering team, community and with society at large.
Clarity of thoughts, being able to comprehend and formulate effective reports
and design documentation, make effective presentations, and give and receive
clear instructions.
[PO. 11] Project management and finance: demonstrate knowledge and
understanding of the engineering and management principles and apply these
to one’s own work, as a member and leader in a team, to manage projects
and in varied environments.
[PO. 12] Life-long learning: recognize the need for and have the preparation and
ability to engage in independent and life-long learning in the broadest context
of technological change.
[PSO.1] Apply the fundamental knowledge of computer science and engineering in
developing effective software/hardware for real world complex engineering
problems by adapting advanced technologies.
[PSO.2] Analyze and configure various IoT based innovative and smart applications
using recent hardware and software tools.
[PSO.3] Design industrial IoT based solutions for improving operational efficiency at
home and industry automation systems.
ASSESSMENT PLAN

Criteria Description Maximum Marks


Sessional Exam 30
Internal Assessment In class Quizzes, Assignments 30
(Summative) and Online Certification,
Activity feedback
(Accumulated)
End Term Exam End Term Exam 40
(Summative)
Total 100
Attendance A minimum of 75% Attendance is required to be maintained by a
(Formative) student to be qualified for taking up the End Semester
examination. The allowance of 25% includes all types of leaves
including medical leaves.
Make up Assignments Students who miss a class will have to report to the teacher about
(Formative) the absence. A makeup assignment on the topic taught on the day
of absence will be given which has to be submitted within a week
from the date of absence. No extensions will be given on this. The
attendance for that day of absence will be marked blank, so that
the student is not accounted for absence. These assignments are
limited to a maximum of 5 throughout the entire semester.
Homework/ Home There are situations where a student may have to work at home,
Assignment/ Activity especially before a flipped classroom. Although these works are
Assignment not graded with marks. However, a student is expected to
(Formative) participate and perform these assignments with full zeal since the
activity/ flipped classroom participation by a student will be
assessed and marks will be awarded.

D. SYLLABUS
Introduction to Object-Oriented Programming Concepts: need of object-oriented
programming, difference between procedural and object oriented language, Characteristics
of object oriented programming; C++ Fundamentals: History, Evaluation of C and C++,
Revision of C Concepts, Difference between C and C++, understanding of C++ as the
superset of C; Headers files used in C++, Namespaces, C++ keywords, References,
Dynamic Allocation Operators, Data types: basic, derived and User Defined Data Types in
C++; Operators in C++: types of operators, insertion and exertion operators, scope
resolution operator, member access operator, Type casting, Operator Overloading in
C++; Arrays and Strings: 1-D array, 2-D array, Operations on arrays, Strings and character
arrays, Operations on character arrays and Strings; Functions: function declaration,
function definition, function calling; Recursive functions; Passing arguments, Returning
values; Objects and Classes: defining classes, object creation, access specifiers,
Constructors and its types; Inheritance: Need of Inheritance, Types of Inheritance-Single,
multilevel, multiple, hybrid inheritance, virtual keyword, virtual function, Virtual base class,
abstract class, This pointer; Polymorphism: compile time and runtime polymorphism.
REFERENCE BOOKS
1. C++: The Complete Reference, Herbert Schildt, McGraw-Hill/Osborne.
2. Learn To Program with C++, John Smiley, McGraw-Hill Education.
3. C++ Primer (5th Edition), Josée Lajoie and Stanley B. Lippman, Addison Wesley.
4. The C++ Programming Language, Bjarne Stroustrup, Pearson.
E. LABORATORY PLAN

Class Topics Session Outcome Mode of Corresponding Mode of Assessing


Number Delivery Course Outcome the Outcome
1 Introduction to the subject, course To acquaint and clear teachers’ expectations and Lecture NA NA
plan, course outcomes and understand student expectations
assessment plan.
2 Introduction to Object-Oriented Understand the need for object-oriented Lecture IIS2120.1 Class Quiz
Programming Concepts programming
3 Difference between procedural and Differentiate between procedural and object- Lecture IIS2120.1 Class Quiz
object-oriented language oriented languages
4 Characteristics of object-oriented Identify the characteristics of object-oriented Lecture IIS2120.1 Class Quiz
programming programming
5 C++ Fundamentals: History, Evaluation Learn the history and evolution of C++ Lecture IIS2120.2 Class Quiz
of C and C++
6 Revision of C Concepts, Difference Revise C concepts and understand differences with Lecture IIS2120.2 Class Quiz
between C and C++, understanding C++, C++ as superset of C
of C++ as the superset of C
7 Headers files used in C++, Understand header files, namespaces, and C++ Lecture IIS2120.2 Class Quiz
Namespaces, C++ keywords keywords
8 References, Dynamic Allocation Learn about references and dynamic allocation Lecture IIS2120.2 Class Quiz
Operators operators
9 Data types: basic, derived and User Understand basic, derived, and user-defined data Lecture IIS2120.3 Class Quiz
Defined Data Types in C++ types in C++
10 Operators in C++: types of Learn about various operators in C++ and their uses Lecture IIS2120.3 Class Quiz
operators, insertion and extraction
operators, scope resolution operator
11 Type casting, Operator Overloading Understand type casting and operator overloading in Lecture IIS2120.3 Class Quiz
in C++ C++
12 Arrays and Strings: 1-D array, 2-D Work with arrays and understand operations on them Lecture IIS2120.3 Class Quiz
array, Operations on arrays
13 Strings and character arrays, Understand strings and character arrays, and Lecture IIS2120.3 Class Quiz
Operations on character arrays and operations on them
Strings
14 Functions: function declaration, Learn about functions, their declaration, definition, Lecture IIS2120.4 Class Quiz
function definition, function calling and calling
15 Recursive functions; Passing Understand recursive functions, passing arguments, Lecture IIS2120.4 Class Quiz
arguments, Returning values and returning values
16 Objects and Classes: defining Define classes, create objects, and understand access Lecture IIS2120.4 Class Quiz
classes, object creation, access specifiers
specifiers
17 Constructors and its types Learn about constructors and their types Lecture IIS2120.4 Class Quiz
18 Inheritance: Need of Inheritance, Understand the need and types of inheritance in C++ Lecture IIS2120.5 Class Quiz
Types of Inheritance-Single,
multilevel, multiple, hybrid
inheritance
19 virtual keyword, virtual function, Learn about virtual keyword, virtual functions, Lecture IIS2120.5 Class Quiz
Virtual base class, abstract class, virtual base classes, abstract classes, and the 'this'
This pointer pointer
20 Polymorphism: compile time and Understand compile-time and runtime Lecture IIS2120.5 Class Quiz
runtime polymorphism polymorphism
21 Examples of Polymorphism Implement and utilize polymorphism in C++ Lecture IIS2120.5 Class Quiz
programs
22 Practical Session on Inheritance Apply inheritance concepts in practical scenarios Practical IIS2120.5 Practical Assessment
23 Practical Session on Polymorphism Implement practical examples of polymorphism Practical IIS2120.5 Practical Assessment
24 Advanced topics in Inheritance: Understand and implement virtual inheritance Lecture IIS2120.5 Class Quiz
Virtual Inheritance
25 Advanced topics in Polymorphism: Implement pure virtual functions and abstract classes Lecture IIS2120.5 Class Quiz
Pure Virtual Functions and Abstract
Classes
26 Practical Session on Abstract Apply concepts of abstract classes in practical Practical IIS2120.5 Practical Assessment
Classes examples
27 Practical Session on Operator Implement operator overloading in practical Practical IIS2120.3 Practical Assessment
Overloading scenarios
28 Mid-term Review and Problem Review concepts and solve problems based Lecture All Class Quiz
Solving on inheritance and polymorphism
29 Mid-term Exam Assess understanding of covered topics Exam All Exam
30 Introduction to Templates Understand the concept and usage of templates in Lecture IIS2120.4 Class Quiz
C++
31 Function Templates and Class Implement function and class templates Lecture IIS2120.4 Class Quiz
Templates
32 Practical Session on Templates Apply templates in practical scenarios Practical IIS2120.4 Practical Assessment
33 Exception Handling: Introduction Understand the basics of exception handling Lecture IIS2120.5 Class Quiz
and Basics
34 Advanced Exception Handling Implement advanced concepts of exception handling Lecture IIS2120.5 Class Quiz
35 Practical Session on Exception Apply exception handling in practical examples Practical IIS2120.5 Practical Assessment
Handling
36 File Handling: Basics Understand the basics of file handling in C++ Lecture IIS2120.5 Class Quiz
37 Advanced File Handling Implement advanced file handling concepts Lecture IIS2120.5 Class Quiz
38 Practical Session on File Handling Apply file handling in practical scenarios Practical IIS2120.5 Practical Assessment
39 Standard Template Library (STL): Understand the basics of STL Lecture IIS2120.4 Class Quiz
Introduction
40 STL: Containers and Iterators Implement and use containers and iterators from Lecture IIS2120.4 Class Quiz
STL
41 STL: Algorithms Use algorithms from STL Lecture IIS2120.4 Class Quiz
42 Practical Session on STL Apply STL in practical scenarios Practical IIS2120.4 Practical Assessment
43 Final Review and Problem Solving Review all concepts and solve comprehensive Lecture All Class Quiz
problems
44 Final Exam Preparation Prepare for final exams Lecture All NA
45 Final Exam Assess understanding of entire course content Exam All Exam
46 Project Discussion Discuss and plan course projects Lecture All NA
47 Project Work Work on assigned projects Project All Project Assessment
48 Project Presentation and Evaluation Present and evaluate projects Presentat All Project Assessment
ion
F. COURSE ARTICULATION MATRIX

Correlation with
Correlation with Program Outcomes (POs) Program Specific
Outcomes (PSOs)
CO STATEMENT
PO PO PO PO PO PO PO PO PO PO PO PO PSO PSO PSO
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3

Understand the need, differences, and characteristics of


[IS2120.1] 3 2 1 - - - - - 1 1 0 1 2 1 1
Object-Oriented Programming (OOP).

Demonstrate proficiency in C++ fundamentals, including


[IS2120.2]
history, evolution, and key features like header files and 3 2 1 - 1 - - - 1 1 - 1 2 1 1
namespaces.

Utilize various data types and operators in C++ effectively


[IS2120.3] 3 3 2 1 2 - - - 1 1 - 2 3 2 1
for programming tasks.

Design and implement classes, objects, and inheritance


[IS2120.4] 3 3 3 1 3 1 - - 2 2 1 3 3 2 2
structures in C++.
[IS2120.5]
Implement compile-time and runtime polymorphism to
enhance code flexibility and reusability. 3 3 3 2 3 1 - - 2 2 1 3 3 3 2

1-Low Correlation; 2- Moderate Correlation; 3- Substantial Correlation

You might also like