BCA[Gen]_2nd Sem_Draft Syllabus 2023-25 (1)
BCA[Gen]_2nd Sem_Draft Syllabus 2023-25 (1)
BCA[Gen]_2nd Sem_Draft Syllabus 2023-25 (1)
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.
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
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.
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
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.
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]
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
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/
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.
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.
After the successful completion of this course, the student will be able to:
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
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/
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.
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].
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
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
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
After the successful completion of this course, the student will be able to:
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
Programme
Programme Outcomes (POs) Specific
Outcomes
5. Course Resources
a. Essential Reading