UNIVERSITY OF MADRAS
B.COM. DEGREE PROGRAMME IN INFORMATION SYSTEM MANAGEMENT
SYLLABUS WITH EFFECT FROM 2023-2024
FIRST YEAR – SEMESTER - II
ELECTIVE - II: PROGRAMMING IN C++ AND LAB
(Common to B Com-CA)
Subject Inst. Marks
L T P S Credits
Code Hours CIA External Total
151E22 2 2 3 4 40 60 100
Learning Objectives
LO1 To engender an appreciation for the need and characteristics of Object-
orientation.
LO2 To impart knowledge of the C++ language grammar in order to design and
implement programming solutions to simple problems by applying Object-
oriented thinking.
Prerequisites: Should have studied Commerce in XII Std
Unit Contents No. of
Hours
Object Oriented Programming Concepts: Complexity in software
- The need for object-orientation – Abstraction – Encapsulation –
I Modularity – Hierarchy. 12
Basic Elements of C++: Classes – Objects – Data members and
member functions – private and public access specifiers - Static
members - Constructors – Singleton class - Destructors
Friend Functions and Friend Classes - Array of objects – Pointer
to objects - this pointer – References – Dynamic memory
allocation - Namespaces.
II Function Overloading: Overloading a function - Default 12
arguments – Overloading Constructors.
Operator Overloading: Overloading an operator as a member
function – Overloading an operator as a friend function
Overloading the operators [], (), -> and comma operators –
Conversion Functions. Inheritance: Types of inheritance –
III protected access specifier –Virtual Base Class – Base class and 12
derived class constructors. Run-time Polymorphism: Virtual
Functions
UNIVERSITY OF MADRAS
B.COM. DEGREE PROGRAMME IN INFORMATION SYSTEM MANAGEMENT
SYLLABUS WITH EFFECT FROM 2023-2024
Function overriding - Pure virtual function – Abstract base class.
IV Templates: Function templates – Overloading a function template 12
– Class templates.
Exception Handling: Exceptions – try, catch, throw – Rethrowing
an exception – Restricting exceptions - Handling exceptions in
derived classes - terminate(), abort(), unexpected(),
V set_terminate(). 12
I/O Streams: Formatted I/O with ios class functions -
Manipulators – Creating own manipulator – Overloading << and
>> operators.
Total (Theory + Practical) 60
Course Outcomes
CO1 Explain the various basic concepts of Object-orientation.
CO2 Write programs to implement static binding
CO3 Write programs to implement inheritance and dynamic binding
Write programs to implement templates and exception handling and learn how
CO4
to use STL class library.
CO5 Write programs implementing File and Stream I/O.
Textbooks
1 Herbert Schildt, C++ - The Complete Reference, Third Edition, TMH, 1999.
Grady Booch, Object Oriented Analysis and Design, Pearson Education, 2008.
2
(For Unit I)
Reference Books
1 Bjarne Strousstrup, The C++ Programming Language, Addison Wesley, 2000.
J. P. Cohoon and J. W. Davidson, C++ Program Design – An Introduction to
2
Programming and Object-Oriented Design, Second Edition, McGraw Hill, 1999.
3 C. J. Lippman, C++ Primer, Third Edition, Addison Wesley, 2000.
NOTE: Latest Edition of Textbooks May be Used
UNIVERSITY OF MADRAS
B.COM. DEGREE PROGRAMME IN INFORMATION SYSTEM MANAGEMENT
SYLLABUS WITH EFFECT FROM 2023-2024
Object Oriented Programming with C++
Learning Objectives: (for teachers: what they have to do in the class/lab/field)
Design classes for the given problems.
Write programs in C++.
Code, debug and execute a C++ program to solve the given problems using an IDE.
Course Outcomes: (for students: To know what they are going to learn)
CO1: Design and create classes. Implement Stream I/O as appropriate.
CO2: Design appropriate data members and member functions.
CO3: Implement functions, friend functions, static members, constructors and compile-time
polymorphism.
CO4: Implement inheritance, run-time polymorphism and destructors.
CO5: Implement templates and exceptions. Use STL class library. Implement File I/O.
List of Programs
1. 1. Write a class to represent a complex number which has member functions to do the
following
a. Set and show the value of the complex number
b. Add, subtract and multiply two complex numbers
c. Multiplying the complex number with a scalar value
2. Write a Point class that represents a 2-d point in a plane. Write member functions to
a. Set and show the value of a point
b. Find the distance between two points
c. Check whether two points are equal or not
4. Design and implement a class to represent a Solid object.
a. Apart from data members to represent dimensions, use a data member to
specify the type of solid.
b. Use functions to calculate volume and surface area for different solids.
5. Design a class representing time in hh:mm:ss. Write functions to
a. Set and show the time
b. Find the difference between two time objects
c. Adding a given duration to a time
d. Conversion of the time object to seconds
6. Design a 3x3 matrix class and demonstrate the following:
a. Addition and multiplication of two matrices using operator overloading
b. Maintaining a count of the number of matrix object created
7. Design a class called cString to represent a string data type. Create a data member in
the class to represent a string using an array of size 100. Write the following functionality as
member functions:
a. Copy Constructor
b. Concatenate two strings
UNIVERSITY OF MADRAS
B.COM. DEGREE PROGRAMME IN INFORMATION SYSTEM MANAGEMENT
SYLLABUS WITH EFFECT FROM 2023-2024
c. Find the length of the string
d. Reversing a string
e. Comparing two strings
8. Design a class called cString to represent a string data type. Create a data member in
the class to represent a string whose size is dynamically allocated. Write the following as
member functions:
a. Copy Constructor
b. Destructor
c. Concatenate two strings
d. Find the length of the string
e. Reversing a string
f. Comparing two strings
Extended Questions related to the above topics, from various competitive
Professional examinations UPSC / TRB / NET / UGC – CSIR / GATE / TNPSC / others
Component to be solved (To be discussed during the Tutorial hour)
Skills acquired Knowledge, Problem Solving, Analytical ability, Professional Competency,
from the Professional Communication and Transferrable Skill
Course
Learning Resources:
Learning Resources:
Recommended Texts
1. Herbert Schildt, C++ - The Complete Reference, Third Edition, TMH, 1999.
2. Grady Booch, Object Oriented Analysis and Design, Pearson Education, 2008.
(For Unit I)
Reference Books
1. Bjarne Strousstrup, The C++ Programming Language, Addison Wesley, 2000.
2. J. P. Cohoon and J. W. Davidson, C++ Program Design – An Introduction to Programming
and Object-Oriented Design, Second Edition, McGraw Hill, 1999.
C. J. Lippman, C++ Primer, Third Edition, Addison Wesley, 2000.