CSC-102 Data Structures

Spring 2025-26


Instructor: Balasubramanian Raman
Office: S-227, CSE Building
Class Meeting Time: Mondays & Thursdays (4-5 pm) and Fridays (5-6 pm).
Class Room: Gargi Block 205
Office Hours: Tuesdays and Wednesdays, 11:00 a.m. - 1:00 p.m. and by appointment
TAs: Dr. Pradeep Singh (pradeep.cs at sric) (Post Doc)
Email: first four letters of first name at cs dot ac dot in

Announcements

January 12, 2026: Classes have begun.

Course Objectives, Learning Outcomes and Prerequisites

To understand the basic concepts of data structures, including arrays, linked lists, stacks, queues, trees, graphs, and hash tables.
To Analyze the time and space complexity of different data structures and operations.
To Choose the appropriate data structure for a given problem or application.
To Implement basic data structures in a chosen programming language (e.g., C++).

Course Outcomes:
After completing the course you will be able to:
explain and differentiate between various data structures like arrays, linked lists, stacks, queues, trees, graphs, and hash tables.
calculate the time and space complexity of operations like insertion, deletion, and searching for different data structures, allowing you to choose the optimal structure for specific tasks.
recognize how certain algorithms rely on specific data structures for efficient operation and be able to analyze the impact of the chosen structure on the algorithm's performance.
understand how data structures are used in various domains like operating systems, database systems, compilers, computer graphics, artificial intelligence, and more.

Prerequisites: Programming Language.

Evaluation Components

Note: Assignments may require strong programming skills. You can choose C++.

Lecture Notes

01. Introduction to Data Structures (12/01/2026)
02. Asymptotic Notations in Time Complexity: Big O notation (15/01/2026)
03. Asymptotic Notations in Time Complexity: Big Omega, Big Theta, Small o and Small omega notations with practical examples and Space Complexity (16/01/2026)
04. Space Complexity (19/01/2026)


Assignments




Examinations




Recommended Study Material

The following will be used as a reference/text book for this course:
1. Sahni, S., "Data Structures, Algorithms, and Applications in C++", WCB/McGraw-Hill. (Latest Edition)
2. Michael T. Goodrich, Roberto Tamassia, David M. Mount, "Data Structures and Algorithms in C++", Wiley, Latest edition.
3. Wirth, N., "Algorithms and Data Structures", Prentice-Hall of India, 2017.
4. Drozdek, A., "Data Structures and Algorithms in C++", Vikas Publishing House.
5. Cormen T, Leiserson C, Rivest R, and Stein C., "Introduction to Algorithms", MIT Press, 2009.