Course Outline : The course consists of 3 lecture hours for theory and 3 lecture hours for the Lab per week. The lectures will be focused on the design and analysis of the classical data structures. A basic syllabus will be followed as outlined in the school website here.
Course Instructor : Dr. Arun Kumar Das, SCIS
Teaching Assistants: Mr. E. T. Bishwanth Baji, SCIS.
Venue: Wednesday at Room 10 at LHC1, Thursday with Lab EB-200
Timings : Wednesday 9 AM - 11 AM, Friday 2 PM - 6 PM
Lecture 1 (07/01/2026, T) : Course outline, Introduction, ADTs, Glass breaking puzzle, idea of complexity.
Lecture 2 (08/01/2026, T+L) : Arrays, searching: linear and jump search.
Lecture 3 (15/01/2026, T+L) : Binary search: implementing issues in the glass breaking puzzle, addition and subtraction of large integers, implementing a card shuffling technique and matrix transposing.
Lecture 4 (17/01/2026, T+L) : Recap to pointers and structures in C: importance and implementations.
Lecture 5 (21/01/2026, T) : Introduction to linked lists, types of linked lists, writing functions in C to implement singly linked lists.
Lecture 6 (22/01/2026, T+L) : Programs implementing singly linked lists: insertion, deletion, reserving.
Lecture 7 (24/01/2026, L) : Doubt clearing, implementation issues in singly linked lists.
Lecture 8 (28/01/2026, T) : .Circular linked lists, Detecting intersection of two linked lists, detecting loops in a singly linked list.
Lecture 9 (29/01/2026, T+L) : Implementation issues in circular linked lists, reversal of singly linked list using one function.
Lecture 10 (04/02/2026, T) : Polynomials and linked lists, addition of two polynomials.
Lecture 11 (06/02/2026, T+L) : Introduction to stacks. Implementation issues and complexities in PUSH and POP using arrays and linked lists.
Lecture 12 (11/02/2026, T) : Application of stacks, parenthesis balance check, evaluation of postfix expressions, infix to postfix conversion.
Lecture 13 (03/02/2026, T+L) : Introduction to queues, implementations using arrays and linked lists.
Lecture 14 (14/02/2026, T) : Queues using stacks, stacks using queues, stack permutations.
Lecture 15 (18/02/2026, T) : Introduction to sorting techniques: Bubble, Selection, and Insertion sorts.
Lab Minor Examination (20/02/2026, L) : Lab Minor-1.
Project and theory minor preparation week (23/02/2026-06/03/2026) !
Theory Minor Examination (11/02/2026, T) : Theory Minor!
Lecture 16 (13/03/2026, T+L) : Introduction to Heaps and binary trees, implementations of build heap and happify techniques.
Lecture 17 (18/03/2026, T) : Operations on binary trees, structures, building and traversals.
Lecture 18 (20/03/2026, T+L) : Implementations of randomly built binary trees, and traversals, checking similarity, operations using and not using recursions.
Lecture 19 (25/03/2026, T) : Introduction to binary search trees, structures, time complexities.
Lecture 20 (27/03/2026, T+L) : Operations on binary search trees, implementation issues, problems.
Lecture 21 (01/04/2026, T) : Introduction to AVL trees.
Lecture 22 (08/04/2026, T) : Revisiting Heaps, implementation issues, complexities, benefit and drawbacks over BSTs.
Lecture 23 (15/04/2026, T) : Implementation issues in AVL trees, insertion and deletion.
Lab Minor Examination (17/04/2026, L) : Lab Minor-2.
Lecture 24 (22/04/2026, T) : Introduction to Graphs, traversals, paths.
Lecture 25 (24/04/2026, T+L) : Implementation issues in graphs, BFS, DFS, and applications. Finding CUT-vertices in a graph.
Lecture 26 (29/04/2026, T) : Hashing: Hash table, Hash functions, Collision avoiding. Recaps to the course.
Assignment Project Evaluation (07/05/2026-08/05/2026, T+L) : Presentation and evaluation!