BCA[Gen]_2nd Sem_Draft Syllabus 2023-25 (1)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

23OBC201- Introduction to Data Structures

Program Bachelor of Computer Applications


Semester 2
Course Title Introduction to Data Structures
Course Code 23OBC201
Course 3
Credits
Course Type Core Theory Course

1. Unit 1: Introduction
Basic Terminology, Algorithm complexity, Pointers and Dynamic Memory
Allocation, Arrays: Introduction, One Dimensional Arrays, Multidimensional
Arrays, Strings, Functions: introduction, Parameter Passing Techniques,
Recursion: Definition, Types of Recursion, structures: Introduction to
Structures, Nested Structures, Array of Structures, Pointers to Structures
2. Unit 2: Linked Lists
Introduction, Arrays and Linked Lists, Building a Linked List, Traversing the
Linked List, Insert and Delete Operations, Searching in a Linked List, Circular
Linked List, Doubly Linked List
3. Unit 3: Stacks and Queues
Stacks: Introduction, Applications of Stack, Array and Linked list
implementations of a Stack, Infix, Prefix and Postfix Expressions, converting
infix expressions to prefix and postfix forms, Evaluation of postfix expression
Queues: Introduction, Applications of Queue, Array and Linked List
implementation of queues, Circular Queue, Doubly Ended Queue, Priority
Queue
4. Unit 4: Searching and Sorting
Searching: Sequential Search, Binary Search, Hashing: Hash Table, Hash
Functions, Collision Resolution Strategies, Hash Table Implementation
Sorting: Bubble Sort, Selection Sort and Insertion Sort.
5. Unit 5: Trees
Trees: Basic Terminology, Binary Trees: Definition and properties of Binary
Trees, Binary Tree Representation, Algebraic Expressions, Types of binary
trees, Binary tree traversals.

1
23OBC202 - Introduction to Object-oriented Programming
Programme Bachelor of Computer Applications
Semester 2
Course Title Introduction to Object-oriented Programming
Course Code 23OBC202
Course 3
Credits
Course Type Core Theory Course

1. Course Summary

This course aims to develop programming skills using object-oriented programming (OOP). The
students are taught the basic concepts including data abstraction, encapsulation, inheritance,
dynamic binding, etc. The students are taught to learn OOP concepts using the C++ programming
language. The basic components of C++ including classes and objects, constructors, destructors, and
inheritance, etc. are taught to the students. This course emphasizes function and operator
overloading for developing simple C++ programs. Students are also trained to develop C++ programs
using data file input/output operations, generic templates, and exception handling.

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:

CO-1. Discuss OOP features that are essential for building good C++ programs [L-1]
CO-2. Explain arrays, functions, classes, and objects to write C++ programs [L-2]
CO-3. Implement C++ Programs using constructors, destructors, and operator overloading [L-3]
CO-4. Use public and private inheritance features in problem-solving [L-4]
CO-5. Apply classes and objects with virtual functions and file manipulation functions [L-5]
CO-6. Develop C++ programs using generic templates and exception handling [L-6]

3. Course Contents

Sr Units
.
N
o

2
1 Unit 1: OOP and Introduction to C++
● OOP Concepts: Encapsulation, Abstraction, Inheritance, Data Hiding, Message Passing
● Benefits of OOP, Procedure-oriented versus OOP
● Structure of a C++ Program, Tokens, Identifiers, Variables, and Constants
● Built-in data types, Operators, Precedence and Associativity Operators
● Control Structures: if, if-else, nested if, switch
● while, do-while, for, break, and continue

2 Unit 2: User-defined Functions, Arrays, Structures, Unions, Pointers


● Functions – Library and User-define Functions, Function Prototype, Definition and Call,
● Inline Functions, Function Overloading
● Array - Single-dimensional array and Multidimensional Array
● Structures - Declaring and defining a structure, Accessing structure members
● Unions - Declaring and defining a union, Initialization, and access of union variables
● Pointers - Pointers and their characteristics, Pointer declaration and assignment,
Pointer arithmetic, Dynamic memory allocation using new and delete operators
3 Unit 3: Classes and Objects
● Classes and Objects
● Defining Classes, Instantiating Objects, and Member Functions
● Accessibility Labels: public, private, protected
● Inline and non-inline function
● Scope resolution operators
● Function overloading (Polymorphism)
● Constructors and Destructors, Default Constructors, Parameterized
Constructors, Copy Constructor, Purpose of the Constructors, Destructors
● Static Members (variables and functions)
● An array of Objects, Class Pointers
● Friend Functions and Friend Class.
4 Unit 4: Inheritance, Operator Overloading, and Type Conversion
● Concept of Reusability
● Types of Inheritance: Single, Hierarchical, Multilevel, Multiple Inheritance and Hybrid
Inheritance
● Operator Overloading: Overloading Unary and Binary Operators by using
member functions OR friend functions. Overloading various operators [++/-- (used as pre
and post operators), arithmetic(+, -, *, /, ^), relational (<, <=, >, >=, !=, ==), assignment (=),
extraction (>>) and insertion (<<) operators)
● Type conversion in C++: Primitive data type to class type conversion, Class to Primitive
data type conversion, Class to Class conversion.
5 Unit 5: Virtual Functions, File Handling, Exception Handling, and Templates
● Abstract Class, Function Overriding, Dynamic Binding, Pure Virtual Functions
● Data Ambiguity and Virtual Inheritance
● File Classes (C++ stream classes), Opening, and Closing of a File, File Modes, I/O
operations in Files
● I/O using primitive data type: Formatted I/O in files, I/O using the class’s object
● Generic programming approach using templates: Template functions, Template class,
Overloading template functions, using different classes as a data type in the template class.
Inheritance of template class, STL: an overview, vectors, containers, lists, and map.

3
● Exception Handling in C++: Introduction to exceptions, exceptions, and errors, types of
exceptions, Using try, catch blocks, throw various types of exceptions including class.

4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs)
Specific
Outcomes (PSOs)
PO PO PO PO PO P PO PO- PO- PO- PO- PO- PSO- PSO- PSO-
-1 -2 -3 -4 -5 O- -7 8 9 10 9 10 1 2 3
6
CO- 2 2 1 1 1 1 1 1 1 1 2 2 2
1
CO- 3 3 2 2 2 1 2 1 1 1 1 3 3 3
2
CO- 3 3 2 2 2 1 2 1 1 1 1 3 3 3
3
CO- 3 3 3 2 2 1 2 1 1 1 1 3 3 3
4
CO- 3 3 3 3 2 1 2 1 2 1 2 3 3 3
5
CO- 3 3 3 3 2 1 2 1 2 1 2 3 3 3
6
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution

5. Course Resources

a. Essential Reading
1. E. Balagurusamy. (2011), Object Oriented Programming with C++, 4th Edition, Tata
McGraw Education Hill
2. Herbert Schildt, (2003), The Complete Reference C++, 4th Edition, Tata McGraw Hill
b. Recommended Reading
1. Robert Lafore, (2008), Object Oriented Programming with C++, 4th Edition, Pearson
Education India
2. Stephen Prata, (1995), C++ Primer Plus: teach Yourself Object Oriented
Programming, 2nd Edition, Waite Group

c. Magazines and Journals


1. C/C++ User Journal, CMP Media, Inc.
d. Websites

4
1. https://www.udemy.com/topic/c-plus-plus/free/
2. https://archive.nptel.ac.in/courses/106/105/106105151/
e. Other Electronic Resources
1. https://ocw.mit.edu/courses/6-096-introduction-to-c-january-iap-
2011/pages/lecture-notes/
2. https://www.programiz.com/cpp-programming

5
23OBC203 – Introduction to Operating System
Program Bachelor of Computer Applications
Semester 2
Course Title Introduction to Operating Systems
Course Code 23OBC203
Course 3
Credits
Course Type Core Theory Course

1. Course Summary

This course provides an understanding of the concepts and principles of operating systems. It covers
the fundamental topics of process management, memory management, and storage management.
The course also delves into the structures of operating systems, such as operating-system services,
user and operating-system interfaces, and system calls. Additionally, the course covers critical topics
like processes, threads, process synchronization, CPU scheduling, deadlocks, and memory
management. Students gain a comprehensive understanding of the fundamental concepts and
principles of operating systems.

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:

CO-1. Define the role and function of operating systems in computer systems [L-1]
CO-2. Describe different types of operating systems, services provided by OS, and the components of
OS. [L-2]
CO-3. Describe and execute process synchronization, including synchronization hardware, mutex
locks, semaphores, and monitors [L-3]
CO-4. Compare different process scheduling algorithms [L-4]
CO-5. Evaluate the efficiency of different memory management techniques. [L-5]

23OBC203 – Introduction to Operating System


Page 1
3. Course Contents

Sr Units
.
N
o
1 Unit 1: Introduction to OS(9hrs)
● What Operating Systems Do
● Computer-System Organization
● Computer-System Architecture
● Operating-System Structure
● Operating-System Operations
● Basics of Process Management
● Memory Management
● Storage Management
● Protection and Security
Operating-System Structures
● Operating-System Services
● User and Operating-System Interface
● System Calls
● Types of System Calls
● System Programs
● Operating-System Structure
2 Unit 2: Processes Management(9hrs)
Processes
● Process Concept
● Process Scheduling
● Operations on Processes
● Interprocess Communication
● Examples of IPC Systems
Threads
● Overview
● Multicore Programming
● Multithreading Models
● Thread Libraries
● Implicit Threading
● Threading problems

23OBC203 – Introduction to Operating System


Page 1
3 Unit 3: Process Synchronization (9hrs)
● Background
● The Critical-Section Problem
● Peterson’s Solution
● Synchronization Hardware
● Mutex Locks
● Semaphores
● Classic Problems of Synchronization
● Monitors

23OBC203 – Introduction to Operating System


Page 1
4 Unit 4: CPU Scheduling and Deadlocks(9hrs)
● CPU Scheduling Basic Concepts
● Scheduling Criteria
● Scheduling Algorithms
● Real-Time CPU Scheduling
● Deadlock -System Model
● Deadlock Characterization
● Methods for Handling Deadlocks
● Deadlock Prevention
● Deadlock Avoidance
● Deadlock Detection
● Recovery from Deadlock

5 Unit 5: Memory management (9hrs)


● Main Memory
● Swapping
● Contiguous Memory Allocation
● Segmentation
● Paging
● Structure of the Page Table
● Virtual memory
● Demand Paging
● Copy-on-Write
● Page Replacement
● Allocation of Frames
● Thrashing

4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs)
Specific
Outcomes (PSOs)
PO- PO- PO- PO PO PO PO PO PO PO- PSO PSO- PSO-
1 2 3 -4 -5 -6 -7 -8 -9 10 -1 2 3
CO-1 3 2 1 2 2 2
CO-2 3 3 1 2 2 2
CO-3 3 2 1 2 2 2
CO-4 3 3 3 1 2 2 2
CO-5 3 3 3 2 2 2 2
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution
23OBC203 – Introduction to Operating System
Page 1
5. Course Resources

a. Essential Reading
1. Course Self-Learning Material
2. Abraham Silberschatz, Peter B Galvin, Greg Gagne, “Operating System
Concepts”, Wiley India Pvt. Ltd 2018, 9th Edition,.
b. Recommended Reading
1. William Stallings, “Operating Systems Internals and Design Principles”,
Pearson, 2018, 9th Edition.
2. Andrew S. Tanenbaum, Herbert Bos, “Modern Operating Systems”, Pearson
2014, 4th Edition.

c. Websites
1. https://www.coursera.org/
2. http://nptel.ac.in/

23OBC203 – Introduction to Operating System


Page 1
23OBC204 - Discrete Mathematics
Programme Bachelor of Computer Applications
Semester 2
Course Title Discrete Mathematics
Course Code 23OBC204
Course Type Core Theory Course

1. Course Summary

This undergraduate course in discrete mathematics for computer applications provides students with a
solid foundation in key mathematical concepts and problem-solving techniques relevant to computer
science. The course covers a range of topics including fundamental principles of counting, fundamentals
of logic, properties of integers, mathematical induction, relations and functions, and the principle of
inclusion and exclusion. Throughout the course, students engage in problem-solving activities, proofs,
and exercises that reinforce their understanding of the topics covered. The course aims to equip students
with the necessary mathematical foundations and logical reasoning skills essential for various aspects of
computer applications, including algorithms, data structures, cryptography, and more.

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:
CO-1. Recall the fundamental principles of counting, concepts and rules of logic [L-1]
CO-2. Comprehend the concepts and applications of mathematical induction [L-2]
CO-3. Apply techniques of counting in the analysis of algorithms [L-3]
CO-4. Analyze and solve counting problems using the principle of inclusion and
exclusion[L-6]
3. Course Contents

Sr Units
.
N
o
1 Unit 1: Fundamental principles of Counting
▪ The Rules of Sum and Product
▪ Permutations
▪ Combinations: The Binomial Theorem
▪ Combinations with repetitions
2 Unit 2 – Fundamentals of Logic
▪ Basic Connectives and Truth Tables
▪ Logical Equivalence: The Laws of Logic
▪ Logical Implication: The Rules of Inference
▪ The Use of Quantifiers
▪ Quantifiers, Definitions and the proofs of theorems
3 Unit 3 – Properties of Integers: Mathematical Induction
▪ The well ordering Principle: The Mathematical Induction
▪ Recursive Definitions
▪ The Division Algorithm: Prime Numbers
▪ The Greatest Common Divisor: The Euclidean Algorithm
▪ The Theorem of arithmetic
4 Unit 4 – Relations and Functions
▪ Cartesian Products and Relations
▪ Functions: Plain and One-to-One
▪ Onto Functions: Sterling Numbers of the Second Kind
▪ Special Functions
▪ The Pigeon hole Principle
5 Unit 5 – The Principle of Inclusion and Exclusion
▪ The Principle of Inclusion and Exclusion
▪ Generalization of the Principle
▪ Derangements: Nothing is in its Right Place
▪ Rook Polynomials
4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs) Specific
Outcomes
(PSOs)
PS
PO-1 PO-2 PO-3 PO- PO- PO- PO- PO- PO- PO- PSO- PSO- O
4 5 6 7 8 9 10 1 2 -
3
CO-1 2 3 3 1 1 2 1
CO-2 2 3 3 1 1 2
CO-3 3 3 3 1 1 3 2
CO-4 2 3 3 1
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution

5. Course Resources

a. Essential Reading
1. Gremaldi, Ramana., 2006, Discrete and Combinatorial Mathematics, 5 th Ed., Pearson
Publishers.
2. Kollman, Busby and Ross., 2015, Discrete mathematical Structures, 3rd Ed., Pearson
Publishers.

b. Recommended Reading
1. Susanna Epp, 2010, Discrete Mathematics with Applications, 4th Ed., Wadsworth
Publishing Co Inc.
2. Kenneth Rosen, 2021, Discrete Mathematics and its Applications, 8th Ed., McGraw
Hill.
23OBC205A – Indian Culture
Program Bachelor of Computer Applications
Semester 2
Course Title Indian Culture
Course Code 23OBC205A
Course 2
Credits
Course Type Generic Elective Course

1. Course Summary

The course aims to provide a comprehensive exploration of India's rich and diverse cultural heritage. It
also provides an understanding of the history, geography, and regional variations within Indian culture.
The students are exposed to cultural aspects including languages, literature, architecture, visual and
performing arts, and the significance of food, costumes, and festivals in Indian society. The course also
examines the social structure of India, socio-cultural issues, the spread of Indian culture abroad, and the
influence of globalization. The course also emphasizes the importance of cultural sensitivity and respect
in a diverse society, illustrating intercultural collaborations and exchanges.

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:

CO-1. Describe various aspects of Indian culture [L-1]


CO-2. Explain the cultural influences, regional variations, and historical developments within Indian
culture [L-2]
CO-3. Examine the cultural significance of various architectural styles, artistic expressions, and
performing arts forms. [L-3]
CO-4. Analyze the impact of globalization on Indian culture and society [L-4]
CO-5. Create an inclusive environment by developing cultural sensitivity and respect in a diverse
society [L-6]

3. Course Contents

Sr Units
.
N
o
1 Unit 1: Introduction to Indian Culture
● Culture an introduction
● Overview of Indian Culture: Historical Evolution from Ancient to Modern India
● Cultural and regional variations within India
● Influence of globalization on Indian culture
● Importance of cultural sensitivity and respect in a diverse society
2 Unit 2: Languages and Literature
● Indian languages and literature

OBCXXX Indian Culture 1


● Ancient texts, manuscript system, and inscriptions
● Indian knowledge system in the past and philosophical traditions
3 Unit 3: Indian Architecture
● Indian architectural styles and traditions

OBCXXX Indian Culture 2


● Archaeological and heritage sites of India
● Indian rivers- cultural lifelines
4 Unit 4: Visual Arts & Performing Arts
● Indian painting traditions
● Sculpture and handicraft
● Classical Music
● Drama
● Dance forms
● Indian folklore
5 Unit 5: Food, Costume and Festivals
● Indian spices and condiments, diversity in Indian cuisine
● Ayurveda and Yog
● Martial Arts
● From handlooms to the present fashion industry
● Festivals across all religions and their cultural significance
● Rituals and traditions associated with fairs and festivals

4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs) Specific
Outcomes
(PSOs)
PO PO PO PO PO PO PO PO PO PO- PS PSO PSO
-1 -2 -3 -4 -5 -6 -7 -8 -9 10 O-1 -2 -3
CO
- 1 3 2 3 3 1 1 3 2
1
CO
- 1 3 1 3 3 1 1 3 2
2
CO
- 3 2 1 2 2 1 3 2
3
CO
- 1 3 1 1 3 3 2
4
CO
- 2 1 3 3 3 2 1 3 2
5
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution

5. Course Resources

a. Essential Reading
1. Pattanaik Devdutt, 2021, Indian Culture, Art & Heritage, Pearson

b. Recommended Reading
1. Nehru, Jawaharlal, 1946, Discovery of India, Jawaharlal Nehru Memorial Fund
2. Husain S. Abid, 1978, The National Culture of India, 14th Ed., National Book Trust
c. Websites and Other Electronic Resources
1. https://www.indiaculture.gov.in/

OBCXXX Indian Culture 3


2. https://www.youtube.com/watch?v=ymoKnBGSFGM
3. https://www.caleidoscope.in/
4. https://marg-art.org/

OBCXXX Indian Culture 4


23OBC208 - Data Structures Laboratory
Program Bachelor of Computer Applications
Semester 2
Course Title Data Structures Laboratory
Course Code 23OBC208
Course 2
Credits
Course Type Core Practical Course

1. Course Summary

The goal of this course is to lay a strong foundation for the organization of elementary data as well as
structured data among learners. This course has been started by explaining the basic terms used in data
structures for a better understanding of the learners. The learners are taught elementary data
organization and dynamic memory allocation. The learners are also taught how to compare and analyze
programs in terms of time & space complexity. In the subsequent lessons, various types of data
structures like arrays, stacks, queues, and linked lists have been discussed and explained to the learners.
In this course, the concepts of recursion and tail recursion have been discussed in depth. In this course,
various concepts related to searching, such as sequential search, binary search, hash table, hash
functions, and collision resolution strategies have been explained to the learners. This course also
emphasizes different types of sorting techniques like insertion sort, bubble sort, quick sort, two- way
merge sort, and heap sort. In the order of advanced data structure, different types of trees have been
discussed first, and after that, the concept of graph, B trees, B+ trees, indexing, and hashing
comparisons have been explained respectively.

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:

CO-1. Define fundamental data structure concepts, compare and choose appropriate data structures to
represent data items in the real world [L-2].
CO-2. Compare and analyze the merits and demerits of various data structures in terms of complexity
[L-4].
CO-3. Design algorithms and develop programs using a variety of data structures such as arrays, stacks,
queues, linked lists, graphs, and trees [L-6].
CO-4. Implement and evaluate operations like searching, insertion, deletion, traversing, and similar on
various data structures [L-5].
CO-5. Understand, analyze and implement the concept of file structures and file organizations in data
structures [L-6].

OBC222 Data Structures Laboratory Page 5


3. Course Contents

Sr Units
.
N
o
1 Unit 1: Introduction
● Basic Terminology
● Pointer and dynamic memory allocation
● Elementary Data Organization
● Algorithm Complexity and Time-Space trade-offs
2 Unit 2: List of Experiments
I Write a C Program to read n elements in an array and find the average.
● Use static memory allocation to allocate memory for the array.
● Use dynamic memory allocation to allocate memory for the array.
Ii Write a C program using recursive functions to
a) Find the nPr.
b) Implement towers of Hanoi.
Iii Write a C program to demonstrate the stack operations. Use array to represent the stack.
Iv Write a C program to evaluate the postfix expression.
V Write a C program to convert an infix expression to its postfix equivalent.
Vi Write C programs to demonstrate the following data structures using arrays.
● Queue
● Circular queue

Vii Write C programs to demonstrate the following operations on a linked list


Creation of a list
● Adding an element at the beginning of the list.
● Adding an element at the end of the list.
● Deleting the first element.
● Deleting the last element.
Vii Write C program to create Binary Search Tree and perform the following
i ● Inorder traversal
● Preorder traversal
● Postorder traversal
Ix Write C program to implement the following
● Linear search
● Binary search
X Write C program to implement the following.
● Bubble sort
● Quick sort

OBC222 Data Structures Laboratory Page 6


Xi Write C program to perform the following operations on a graph.
● Depth First Search
● Breadth First Search

OBC222 Data Structures Laboratory Page 7


4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs) Specific
Outcomes
(PSOs)
PO PO PO PO PO P P P P PO- PO- PO- PS PS PS PSO
-1 -2 -3 -4 -5 O- O- O- O- 10 11 12 O-1 O-2 O-3 -4
6 7 8 9
CO- 3 3 3 3 3 2 2 2 3 1
1
CO- 3 3 3 3 3 2 2 2 3 3 1 1
2
CO- 3 3 3 3 3 2 1 2 1 1
3
CO- 3 3 3 3 3 3 2 3 3 3 2
4
CO- 3 3 3 3 3 3 2 2 2 1
5
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution

5. CourseResources

a. EssentialReading
1. Kruse, R. et al. (2006). Data structures and program design in C, 2nd Ed.,
Pearson India.
b. Recommended Reading
1. Lipschutz, (2014). Data structures, 1st Ed., Tata McGraw-Hill.
2. Tenenbaum , A. M. et al. (2006). Data structures using C, 2nd Ed., Pearson
Education.
3. Horowitz and Sahani. (1999). Fundamental of data structures, Galgotia
Publishers.
c. Websites and Other Electronic Resources
1. ACM Transactions on Algorithms
2. XRDS: Crossroads, The ACM Magazine for Students

OBC222 Data Structures Laboratory Page 8


23OBC209 - Object-Oriented Programming Laboratory
Programme Bachelor of Computer Applications
Semester 2
Course Title Object-Oriented Programming Laboratory
Course Code 23OBC209
Course Credits 02
Course Type Core Practical Course

1. Course Summary

The aim of this course is to create a strong foundation of object-oriented programming principles and
techniques using C++. The students are taught the basic principles of classes and objects. The students
are also taught information hiding, data encapsulation and abstraction, inheritance, polymorphism,
and built-in, user-defined, and derived data types. Students are trained to use constructors,
destructors, and operator overloading features in the implementation of various programs. Students
are trained to design and develop C++ programs using file store

2. Course Outcomes (COs)

After the successful completion of this course, the student will be able to:

CO-1. Describe the fundamentals of object-oriented programming [L-1]


CO-2. Explain different arithmetic and logical operations on different data types using control
structures [L-2]
CO-3. Demonstrate the usage of classes, objects, constructors, destructors, and operator overloading
[L-3]
CO-4. Experiment with a bottom-up approach using suitable C++ programs for different applications
[L-4]
CO-5. Recommend file-manipulating operations for large data using C++ programs [L-5]
CO-6. Design and develop C++ programs using generic class and function templates and handle
exceptions [L-6]

3. Course Contents

Sr. Units
No
1 Unit 1: Introduction to OOP
● Introduction to data abstraction, encapsulation, polymorphism
● C++ program: Structure and Hello World Example
● Discussion on C++ keywords and Header Files

23OBC209 - Object-Oriented Programming Laboratory


1
2 Unit 2: Sublime Editor and Cygwin Compiler
● Introduction to sublime editor
● Different menus and settings in sublime
● Installation of Cygwin and introduction to GCC

3 Unit 3: List of Experiments


1 Write a C++ Program to display the employee’s name, ID, and salary details.
2 Write a C++ program to read a number and display each digit of a number in words.
3 Write a C++ program to sort a list of numbers in ascending order.
4 Create a structure STUDENT with fields ROLLNO, NAME, and MARKS. Display the
student
with the highest marks out of ‘n’ records.
5 Print the address and data for an integer, float number, and character using pointers.
Determine the size of each data type.
6 Write a C++ program using functions to
a) Find the largest of three numbers
b) And for counting characters, white and spaces, and digits in a given string.
7 Design EMPLOYEE class contains the following members: data members: Employee
number, Employee name, Basic, DA, IT, Net Salary. Write member function read () and
print () to enter the data and display the employee records.
8 Create a class TEACHER with data members’ salary and experience. Implement the
following:
a) Initialize using parametrized constructors
b) Illustrate the use of the default constructor
9 Create two objects for a class timer. Assume three data members’ hours, minutes, and
seconds. Use two constructors for initializing the objects. Add two-time objects using
operator overloading. Display appropriate values of hours, minutes, and seconds after
addition.
10 Consider a base class EMPLOYEE and MANAGER as derived classes. Use name and ID
as base class members. Inherit the members of the base class and display the
MANAGER
class with the salary as an additional data member.
11 Write a C++ program to demonstrate the use of new and delete operators for memory
allocation and deallocation.
12 Store a list of integers in a file. Check whether the number is ODD or EVEN. Send the
odd
numbers to the ODD.dat file and even numbers to the EVEN.dat file.
13 Create a vector for storing a list of integers using the STL
14 Illustrate the exception for divide overflow error for any mathematical expression

4. Course Articulation Matrix (CO-PO-PSO Map)

Programme
Programme Outcomes (POs) Specific
Outcomes

23OBC209 - Object-Oriented Programming Laboratory


2
(PSOs)
PS
P PO- PO PO P PO PO P P PO- PO- PO- PS PSO-
O-
O- 2 -3 -4 O- -6 -7 O- O- 10 11 12 O-1 2
3
1 5 8 9
CO-1 3 3 2 2 3 2 1 2 2 1 1 2 3 3 3
CO-2 3 3 2 2 3 2 1 2 1 1 2 2 3 3 3
CO-3 3 3 3 3 3 2 1 2 1 1 2 2 3 3 3
CO-4 3 3 3 2 3 1 1 2 1 1 2 2 3 3 3
CO-5 3 3 3 3 3 2 1 2 1 2 2 2 3 3 3
CO-6 3 3 3 3 3 2 1 2 1 2 2 2 3 3 3
3: Very Strong Contribution, 2: Strong Contribution, 1: Moderate Contribution

5. Course Resources
a. Essential Reading

23OBC209 - Object-Oriented Programming Laboratory


3
1. E. Balagurusamy, 2011, Object Oriented Programming with C++, 4th Edition, Tata
McGraw Education Hill.
2. Herbert Schildt, 2003, The Complete Reference C++, 4th Edition, Tata McGraw Hill
b. Recommended Reading
1. Robert Lafore, 2008, Object-oriented Programming with C++, 4th edition, Pearson
Education, India.
2. Stephen Prata, C++ Primer Plus: Teach Yourself Object Oriented Programming, 2nd
edition, waite group
c. Magazines and Journals
1. C/C++ User Journal, CMP Media, Inc. P.O. Box 56565 Boulder, CO United States
d. Websites
1. https://www.udemy.com/topic/c-plus-plus/free/
2. https://archive.nptel.ac.in/courses/106/105/106105151/

e. Other Electronic Resources


1. https://ocw.mit.edu/courses/6-096-introduction-to-c-january-iap-2011/pages/lecture-
notes/
2. https://cplusplus.com/doc/tutorial/

23OBC209 - Object-Oriented Programming Laboratory


4

You might also like