CS201 DSA CS211 DSALab CourseContent Jan April2024
CS201 DSA CS211 DSALab CourseContent Jan April2024
1. Introduction to data structure and algorithms (DSA), array data structure and its application
(sorting)
2. Complexity analysis of algorithms – best case, average case and worst-case analysis, Complexity
analysis of sorting algorithms (insertion sort, rank sort, selection sort and bubble sort), Asymptotic
analysis, recursive programming, recurrence relations and solving recurrence relations
3. Sorting algorithms using divide and conquer method (merge sort and quicksort) and their analysis
4. Abstract data type (ADT) – Sequential linear list, Linked list (singly linked list, doubly linked list
and circular list)
5. Stack and queue data structures – array and linked list implementation, applications of stack and
queue
7. Tree data structure: Representation of tree, tree traversal (preorder, inorder and postorder), search
trees – binary search tree (BST) and AVL tree
9. Graph data structure: Directed and undirected graphs, properties of graphs, representation of graphs
– adjacency matrix and adjacency list
● Graph searching algorithms – breadth first search (BFS) and depth first search (DFS)
● Minimum spanning tree (MST) – Kruskal’s algorithm (implemented using BFS) and Prim’s
algorithms (implemented using binary heap based priority queues)
Textbooks:
1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, MIT Press,
3/e, 2009.
2. Y. Langsam, M. J. Augenstein, and A. M. Tenenbaum, Data Structures Using C and C++, Prentice
Hall, 2/e, 2000.
3. S. Sahni, Data Structures, Algorithms, and Applications in C++, Silicon Press, 2/e, 2005.
4. Michael T. Goodrich, Roberto Tamassia, and David M., Data Structures and Algorithms in C++,
John Wiley & Sons, Inc., 2/e, 2004
Week 1 Introduction to DSA and array ADT [1, 2, 3, Online]
Week 2-3 Complexity of algorithms, analysis of sorting algorithms [1, Online]
Week 3-4 Asymptotic analysis, recurrence relation [1, Online]
Week 4-5 Divide and conquer – merge sort and quicksort [1, 2, 3, Online]
Week 6 Linked list data structure [1, 2, Online]
Week 6-7 Stacks and queue [1, 2, Online]
Week 8-9 Dictionary – Binary search and Hashing [1, 2, Online]
Week 10-11 Tree DS [1]
Week 11-12 Heap DS [1, 2, Online]
Week 13-14 Graph DS [1, 2, 3, Online]
Instructor(s):
Vandana Bharti (e-mail: [email protected])
Dileep A. D (e-mail: [email protected], Phone number: 9459477409)
Evaluation: Midsem exam (30%), Endsem exam (40%), Online quiz (15%), Assignments/Projects
(15%)
Class Hours and Slot: C slot - Monday (10:30 – 11:20 AM), Wednesday (11:30 AM – 12:20 PM),
Friday (08:30 – 09:20 AM)
Laboratory and Slot: L1 and L2 Slot – Tuesday (03:20 – 05:55 PM) – for Batch D0
M1 and M2 Slot – Thursday (03:20 – 05:55 PM) – for Batch D1
● Programming in C
● Lab to be conducted on a 2.5-hour slot. It will be conducted in tandem with the theory course so
the topics for problems given in the lab are already initiated in the theory class. The topics taught
in the theory course should appropriately be sequenced for synchronization with the laboratory.
Instructor(s):
Vijeth Jinachandra Kotagi (e-mail: [email protected])
Jivnesh Balasaheb Sandhan (e-mail: [email protected])
Vandana Bharti (e-mail: [email protected])
Dileep A. D (e-mail: [email protected], Phone number: 9459477409)
Evaluation: weekly lab practice and assessment (20%), Two programming exams (40%) – towards
midsem exam, Endsem exam (40%)