Course Plan
Course Handout
Institute/School Name Chitkara University Institute of Engineering & Technology
Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering- Computer Science & Engineering
(Artificial Intelligence and Machine Learning)
Course Name Data Structures & Algorithms Session 2025-26
Course Code 24CAI0108 Semester/Batch 3rd /2024
L-T-P (Per Week) 2-0-2 Course Credits 3
Pre-requisite Knowledge of basic programming NHEQF Level 5
concepts
Course Coordinator Dr. Shruti Arora SDG Number 4, 9
1. Objectives of the Course
The main objective of this course is to equip learners with a solid foundation in data structures and algorithmic
problem solving. It aims to develop a deep understanding of how data can be organized, manipulated, and utilized
efficiently to solve computational problems. By the end of the course, students will be able to apply theoretical
concepts to practical scenarios through the effective use of data structures, and algorithmic techniques. The main
objectives of the course are:
• To provide the knowledge of basic data structures and their implementations.
• To analyze the asymptotic performance of algorithms.
• To understand the concepts of searching and sorting techniques.
• To understand basic concepts of stacks, queues, list, trees and graphs.
• To understand about writing algorithms and step by step approach in solving problems with the help of
fundamental data structures.
2. Course Learning Outcomes (CLOs)
Students should be able to:
CLOs Program NHEQF No. of
Outcomes (PO) Level Lectures
Descriptor
CLO01 Understand the basic concept of Abstract PO1, PO2 PO3, Q1, Q2 04
Data Types, Linear and Non-Linear Data PO4
structures.
CLO02 Identify the asymptotic notations to find the PO1, PO2, PO3, Q3, Q6 08
complexity of an algorithm. PO4, PO11
CLO03 Understand insertion, deletion and PO1, PO2, PO3, Q2, Q3 20
traversing operations on data structures. PO11
CLO04 Compare various searching and sorting PO1, PO2, PO3, Q1, Q2 10
techniques. PO4, PO11
CLO05 Choose appropriate data structure while PO1, PO2, PO3, Q6 18
designing the algorithms. PO4, PO5, PO11
Total Contact Hours 60
<< 24CAI0108/Data Structures & Algorithms>> Page 1 of 10
Course Plan
CLO-PO-PSO Mapping grid |Program Outcomes (POs) and Program Specific Outcomes (PSO) are
available as a part of Academic Program Guide
CLO PO1 PO 2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 Type of
Assessment
CO01 H L M L L M M Formative
/Summative
CO02 H M M M L L M M Formative
/Summative
CO03 H L L L L M H Formative
/Summative
CO04 H M H M M M H H Formative
/Summative
CO05 H H H M M M M H H Formative
/Summative
*H=High, M=Medium, L=Low
3. Recommended Books:
B01: Classic Data Structures, Samanta and Debasis, 2nd edition, PHI publishers.
B02: Fundamentals of Data Structures, Illustrated Edition by Ellis Horowitz, Sartaj Sahni, Computer Science
Press.
B03: Data Structures by Schaums Outlines Series by Seymour Lipschutz, McGraw Hill Education.
B04: Algorithms, Data Structures, and Problem Solving with C++, Illustrated Edition by Mark Allen Weiss,
Addison-Wesley Publishing Company.
B05: How to solve it by Computer, 2nd Impression by R. G. Dromey, Pearson Education.
4. Other readings and relevant websites:
S. No. Link of Journals, Magazines, websites and Research Papers
1 [Link]
systems-engineering-spring-2010/lecture-notes/MIT1_204S10_lec05.pdf
2 [Link]
3 [Link]
4 [Link]
5 [Link]
5. Recommended Tools and Platforms
Dev-C++, Visual Studio Code, NetBeans, Coding Blocks, Coding Ninjas, Virtual Labs ([Link]), GFG
6. Course Plan: Theory+ Lab
a. Theory Plan
Lect. No. Topics
1-3 Introduction to Data Structures: Basic Terminology, Types of data structures, Elementary Data
Organization, Data Structures and Operations.
4-5 Algorithm: Complexity, Time-Space Tradeoff, Asymptotic Notations for Complexity (Ω, θ, O).
6-7 Arrays: Introduction to Arrays, Representation of Linear Arrays in Memory.
8-10 Array Operations and Complexity: Inserting and Deleting (at the beginning, middle, and at the
end), Searching, Traverse, and Update.
<< 24CAI0108/Data Structures & Algorithms>> Page 2 of 10
Course Plan
11-12 Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column Major
Order.
13-14 Application of arrays, Sparse Matrices, and their representations, Implementation of insert,
delete, and update operations on arrays using C++, Strings and various Operations
15-16 Searching & Sorting: Linear Search and its complexity analysis, Binary Search and its
complexity analysis.
17-19 Quick Sort and its complexity analysis, Merge Sort and its complexity analysis, Implementation
of various searching and sorting techniques using C++.
20-21 Linked List: Introduction to Single Linked List, Memory representation.
22-23 Traversing a Linked List, Insertion into Linked List (sorted and unsorted Linked List), Deleting
from Linked List.
Sessional Test-1 (1-23 Lectures)
24-25 Operations on Doubly Linked List, Circular linked List & its applications,
26-27 Implementation of insert, delete and traverse operations on Linked List using C++.
28-29 Stacks: Array representation of Stacks, Implementation of Stack using linked list, Operations on
Stack, Applications: Arithmetic Expressions.
30-33 Polish Notation, Transforming Infix Expressions into Postfix Expressions, and Implementation of
various operations on Stacks using C++.
34-37 Queues: Representation of Queues as Array and Linked List, Dequeues, Circular Queues, Priority
Queues, Implementation of Queues using C++.
38-40 Trees: Binary Trees terminologies, Representation of Binary Trees: Linear and Linked List,
Operations: Insertion, deletion, and searching of Binary Trees.
41-43 Tree Traversal: Preorder, In order, Post order and their algorithms.
44-48 Complete binary trees, Binary Search Trees, AVL trees, Insertion and Deletion in AVL tree.
49-51 Heaps: Insertion and Deletion in heap, Heap Sort implementation, and its applications,
Implementation of various operations on Trees using C++.
Sessional Test-2 (24-51 Lectures)
52-54 Graphs: Basic terminology, Directed and undirected graphs, Graph implementation, Operations on
Graph
55-57 Graph traversals: DFS, BFS, Implementation of various operations on Graphs using C++.
58-60 Hashing: Hashing Techniques, Collision and its resolving techniques, Implementation of hashing
using C++.
END-TERM EXAM (FULL SYLLABUS)
b. Lab Plan:
Lab No. Experiment
1-2 Write a program that implements following operations on a linear array:
<< 24CAI0108/Data Structures & Algorithms>> Page 3 of 10
Course Plan
• Insert a new element at a specified position
• Delete an element either whose value is given or whose position is given
• To find the location of a given element
• To display the elements of the linear array
3 Write a program to accept N numbers from the user and store them in an array. Then,
accept another number from the user and search that using Linear Search.
4 Write a program to accept N numbers from the user and store them in an array. Then, accept
another number from the user and search that using Binary Search.
5-6 Write a program to accept N numbers in an array and then sort the array using Quick Sort.
7-8 Write a program to implement merge Sort.
9-10 Write a menu driven program that implements the following operations on a Linked list.
• Traverse, Insert and Delete
11-12 Write a menu driven program that implements the following operations on a Doubly Linked list
and Circular linked list.
• Insert a new element at the beginning, end and in between the given list
• Delete an existing element
• Search an element
• Display all the elements
13-14 Write a menu driven program that implements the following operations on a Stack (either
implement as Linear array or as Linked list)
• Push
• Pop
• Display Top of the Stack
15-17 Write a program to demonstrate the use of stack in converting arithmetic expression from infix
notation to postfix notation and in evaluating arithmetic
Postfix expression.
18-19 Menu driven Program to demonstrate the implementation of various operations on a
Circular queue (using a linear array or a linked list).
20-21 Write a menu driven program that implements the following operations on a Binary search tree:
• Insert a new element
• Delete an existing element
• Traversing the tree
• Pre-order Traversal
• In-order Traversal
• Post-order Traversal
22-24 Write a menu driven program that implements the following operations on a AVL Tree:
• Insertion in AVL Tree
• LL Rotation
• LR Rotation
• RL Rotation
• RR Rotation
• • Deletion in AVL Tree
25-26 Sort the list of integers using heap tree (Heap sort)
27-28 Program that includes all Operations on Graph and illustrates the traversals using DFS and BFS
29-30 Program to insert and delete element from the array using hashing
Lab Evaluation (1-30 Lab No.)
<< 24CAI0108/Data Structures & Algorithms>> Page 4 of 10
Course Plan
7. Delivery/Instructional Resources
Plan (Theory +Lab):
Lect. Topics CLO Book TLM ALM Web Audio-
No. No, CH References Video
No, Page
No
1-3 Introduction to Data CLO01 B01 Lecture, Think/p [Link] [Link]
Structures: Basic Discussi air/share .javatpoint.c .youtube.c
Terminology, Types of data on om/data- om/watch?v
structures, Elementary Data structure- =6VF2Q0
Organization, Data tutorial pgUFI
Structures and Operations.
4-5 Algorithm: Complexity, CLO02 B02 Lecture, Quiz/ Test [Link] [Link]
Time-Space Tradeoff, PPT Question .javatpoint.c .youtube.c
Asymptotic Notations for om/data- om/watch?v
Complexity (Ω, θ, O). structure- =DT4zr-
tutorial 8Lp8c&list
=PLVZ00E
haXu3P7ne
8HTPtY7ej
1lpxjO0co
6-7 Arrays: Introduction to CLO01 B02 Lecture, Leading [Link] [Link]
Arrays, Representation of Demons Question .javatpoint.c .youtube.c
Linear Arrays in Memory. tration om/data- om/watch?v
structure- =zWg7U0
tutorial OEAoE&lis
t=PLBF37
63AF2E1C5
72F
8-10 Array Operations and CLO03 B03 Lecture, Quiz, Peer [Link]
Complexity: Inserting and Discussi Reviews [Link]/course
Deleting (at the beginning, on s/106/102/1
middle, and at the end), 06102064/
Searching, Traverse, and
Update.
11-12 Multidimensional Arrays, CLO03 B04 Lecture Test [Link]
Representation of Arrays: questions/ [Link]/course
Row Major Order, and Quiz s/106/102/1
Column Major Order. 06102064/
13-14 Application of arrays, Sparse CLO04 B03 Lecture, Brainstormi [Link]
Matrices, and their Code ng Session [Link]/course
representations, Demons s/106/102/1
Implementation of insert, tration 06102064/
delete, and update operations
on arrays using C++.
Strings and Various
Operations
15-16 Searching & Sorting: Linear CLO04 B02 Lecture, Test [Link] [Link]
Search and its complexity PPT Questions [Link]/~ .youtube.c
analysis, Binary Search and pb/algo1- om/watch?v
its complexity analysis. pb- =gtWw_8
[Link]
<< 24CAI0108/Data Structures & Algorithms>> Page 5 of 10
Course Plan
VvHjk&list
=PLBF376
3AF2E1C57
2F&index
=10
17-19 Quick Sort and its CLO03 B01 Lecture, Brainstormi [Link]
complexity analysis, Merge PPT ng Session [Link]/~
Sort and its complexity pb/algo1-
analysis, Implementation of pb-
various searching and [Link]
sorting techniques using
C++.
20-21 Linked List: Introduction to CLO01 B04 Lecture, Think/p [Link] [Link]
Single Linked List, Memory Discussi air/share [Link]/course [Link]
representation. on s/106/102/1 .c
06102064/ om/watch
?v=njTh_
OwMljA
22-23 Traversing a Linked List, CLO03 B05 Lecture, Think/p [Link]
Insertion into Linked List Demons air/share [Link]/course
(sorted and unsorted Linked tration s/106/102/1
List), Deleting from Linked 06102064/
List.
24-25 Operations on Doubly CLO03 B03 Lecture, Quiz/ Test [Link] [Link]
Linked List, Circular linked PPT Question [Link]/course [Link]
List & its applications, s/106/102/1 .c
06102064/ om/watch
?v=K7VI
Kl Udo20
26-27 Implementation of insert, CLO03 Lecture, Leading [Link]
delete and traverse Discussi Question [Link]/course
operations on Linked List on s/106/102/1
using C++. 06102064/
28-29 Stacks: Array representation CLO04 B02 Lecture, Quiz, Peer [Link] [Link]
of Stacks, Implementation of Question Reviews [Link]/~ .youtube.c
Stack using linked list, ing pb/algo1- om/watch?v
Operations on Stack, pb- =g1USSZ
Applications: Arithmetic [Link] VWDsY&li
Expressions. st=PLBF3
763AF2E1C
572F&ind
ex=2
30-33 Polish Notation, CLO01 B03 Lecture, Quiz/ Test [Link]
Transforming Infix Question Question [Link]/~
Expressions into Postfix ing pb/algo1-
Expressions, and pb-
Implementation of various [Link]
operations on Stacks using
C++.
34-37 Queues: Representation of CLO02, B04 Lecture, Leading [Link] [Link]
Queues as Array and Linked CLO03 Demons Question [Link]/course .youtube.c
List, Dequeues, Circular tration s/106/102/1 om/watch?v
Queues, Priority Queues, 06102064/ =PGWZU
Implementation of Queues gzDMYI&li
using C++. st=PLBF3
<< 24CAI0108/Data Structures & Algorithms>> Page 6 of 10
Course Plan
763AF2E1C
572F&ind
ex=3
38-40 Trees: Binary Trees CLO01 B04 Lecture Think/p [Link] [Link]
terminologies, air/share .programiz.c .youtube.c
Representation of Binary om/dsa om/watch?v
Trees: Linear and Linked =tORLeH
List, Operations: Insertion, HtazM&list
deletion, and searching of =PLBF376
Binary Trees, 3AF2E1C57
2F&index=
6
41-43 Tree Traversal: Preorder, In CLO03, B02 Lecture, Quiz/ Test [Link]
order, Post order and their CLO04 Discussi Question .programiz.c
algorithms. on om/dsa
44-48 Complete binary trees, CLO05 B03 Lecture, Brainstormi [Link] [Link]
Binary Search Trees, AVL Demons ng Sessions .programiz.c .youtube.c
trees, Insertion and Deletion tration om/dsa om/watch?v
in AVL tree. =mRGQyl
RWAsI&list
=PLBF37
63AF2E1C5
72F&inde
x=11
49-51 Heaps: Insertion and CLO01 B04 Lecture, Quiz, Peer [Link]
Deletion in heap, Heap Sort Question Reviews .programiz.c
implementation, and its ing om/dsa
applications,
Implementation of various
operations on Trees using
C++.
52-54 Graphs: Basic terminology, CLO01 B05 Lecture Think/p [Link] [Link]
Directed and undirected air/share [Link]/course .youtube.c
graphs, Graph s/106/102/1 om/watch?v
implementation, Operations 06102064/ =9zpSs845
on Graph, wf8&list=P
LBF3763A
F2E1C572F
&index=24
55-57 Graph traversals: DFS, BFS, CLO03 B05 Lecture, Quiz/ Test [Link]
Implementation of various Code Question [Link]/course
operations on Graphs using Demons s/106/102/1
C++. tration 06102064/
58-60 Hashing: Hashing CLO04, B02 Lecture, Leading [Link]
Techniques, Collision and its CLO05 Question Question .geeksforge
resolving techniques, ing [Link]/hash
Implementation of hashing ing-data-
using C++. structure/
<< 24CAI0108/Data Structures & Algorithms>> Page 7 of 10
Course Plan
8. Remedial Classes
After every Sessional Test, different types of learners will be identified, and special discussions will be planned
and scheduled accordingly for the slow learners.
9. Self-Learning
Assignments to promote self-learning, survey of contents from multiple sources.
S. No. Topics CLO ALM References/MOOCS
1 Problem solving CLO01, Think/pair/share Hacker earth, HarkerRank, CodeWars
Hackathons CLO05
2 Tree and graph CLO01, Think/pair/share [Link]
traversing CLO03, traversals-inorder-preorder-and-postorder/
algorithms CLO04
10. Delivery Details of Content Beyond Syllabus
Content beyond the syllabus covered (if any) should be delivered to all students that would be planned, and
schedule notified accordingly.
S. No Advanced Topics, CLO POs ALM References/MOOCS
Additional Reading,
Research papers and any
1 Real time applications of CLO01, CLO03, PO1, PO2, PO3, Think/pair/s [Link]
data structures CLO04, PO5, PO11 hare [Link]/real-time-
CLO05 application-of-data-
structures/
11. Evaluation Scheme & Components:
Assessment Evaluation Type of No. of % Max. Mode of CLO
Type Component Component Assessments Weightage Marks Assessment
of
Component
Formative Component 1 Continuous 01* 20% 20 Offline CLO01,
Lab CLO02,
Evaluation CLO03,
CLO04,
CLO05
Summative Component 2 Sessional 02** 30% 30 Offline CLO01,
Tests (STs) CLO02,
CLO03,
CLO04,
CLO05
Summative Component 3 End Term 01*** 50% 50 Offline CLO01
Examination CLO02,
CLO03,
CLO04,
CLO05
Total 100%
* Continuous Lab Evaluation is mandatory for all students.
<< 24CAI0108/Data Structures & Algorithms>> Page 8 of 10
Course Plan
** All STs are mandatory. The average of both STs will be taken for internal assessment.
*** To appear for the End Term Exam, attendance must be at least 75%.
12. Syllabus of the Course:
Subject: Data Structures & Algorithms Subject Code: 24CAI0108
No. of
Lec. No. Topic (s) Weightage %
Lectures
1-5 Introduction to Data Structures
• Basic Terminology,
• Types of data structures,
• Elementary Data Organization, 5 8%
• Data Structures and Operations,
• Algorithm: Complexity, Time-Space Tradeoff,
• Asymptotic Notations for Complexity (Ω, θ, O)
6-14 Arrays
• Introduction to Arrays,
• Representation of Linear Arrays in Memory,
• Arrays Operations and Complexity: Inserting and
Deleting (at the beginning, middle, and at the end),
• Searching, Traverse, and Update.
• Multidimensional Arrays,
9 15%
• Representation of Arrays: Row Major Order, and Column
Major Order,
• Application of arrays,
• Sparse Matrices and their representations.
• Implementations of insert, delete, and update operations
on arrays using C++.
• Strings and String Operations
15-19 Searching & Sorting
• Linear Search and its complexity analysis,
• Binary Search and its complexity analysis,
• Quick Sort and its complexity analysis, 5 9%
• Merge Sort and its complexity analysis,
• Implementation of various searching and sorting
techniques using C++.
20-27 Linked List
• Introduction to Single Linked List,
• Memory representation,
• Traversing a Linked List,
• Insertion into Linked List (sorted and unsorted Linked
List), 8 13%
• Deleting from Linked List,
• Operations on Doubly Linked List,
• Circular linked List & its applications,
• Implementation of insert, delete and traverse operations
on Linked List using C++.
28-33 Stacks
• Array representation of Stacks,
• Implementation of Stack using linked list,
• Operations on Stack, 6 10%
• Applications: Arithmetic Expressions,
• Polish Notation,
• Transforming Infix Expressions into Postfix Expressions,
<< 24CAI0108/Data Structures & Algorithms>> Page 9 of 10
Course Plan
• Implementation of various operations on Stacks using
C++.
34-37 Queues
• Representation of Queues as Array and Linked List,
• Dequeues,
4 7%
• Circular Queues,
• Priority Queues.
• Implementation of Queues using C++.
38-51 Trees
• Binary Trees terminologies,
• Representation of Binary Trees: Linear and Linked List,
• Operations: Insertion, deletion, and searching of Binary
Trees,
• Tree Traversal: Preorder, In order, Post order and their
algorithms, 14 23%
• Complete binary trees, Binary Search Trees,
• AVL trees, Insertion and Deletion in AVL tree,
• Heaps: Insertion and Deletion in heap,
• Heap Sort implementation, and its applications,
• Implementation of various operations on Trees using
C++.
52-57 Graphs
• Basic terminology,
• Directed and undirected graphs,
• Graph implementation,
6 10%
• Operations on Graph,
• Graph traversals: DFS, BFS,
• Implementation of various operations on Graphs using
C++.
58-60 Hashing
• Hashing Techniques,
3 5%
• Collision and its resolving techniques,
• Implementation of hashing using C++.
13. Academic Integrity Policy:
Education at Chitkara University builds on the principle that excellence requires freedom where Honesty and
integrity are its prerequisites. Academic honesty in the advancement of knowledge requires that all students and
Faculty respect the integrity of one another's work and recognize the importance of acknowledging and
safeguarding intellectual property. Any breach of the same will be tantamount to severe academic penalties.
This Document is approved by:
Designation Name Signature
Course Coordinator Dr. Shruti Arora
Head-Academic Delivery Dr. Kamaldeep Garg
Dean (CSE-AI) Dr. Sushil Kumar Narang
Date (DD/MM/YYYY) 27/06/2025
<< 24CAI0108/Data Structures & Algorithms>> Page 10 of 10