Laboratory of Statistical Artificial Intelligence and Machine Learning

Data Structures and Algorithms for Data Science DS2030 Fall 2025

Description

Data structures and algorithms play a crucial role in computing applications that involve data management. They are particularly vital for data-driven decision systems, such as the Web, Databases, Machine Learning, Computer Vision, and Artificial Intelligence Systems. In this introductory course, we will explore fundamental and commonly used data structures. We will delve into theoretical analysis and practical application of these data structures, gaining hands-on experience by implementing them in Python for various applications.

Lecture Timings

  • Lectures - M 10.00-10.50am, W 8.00-8.50am, F 11.00-11.50am Classroom Saraswati A-212

  • Lab - Tuesday 2.00-5.00pm Slot PA2, - Dr. Sahasranand

Reference Material
  • Primary Textbook : Data Structures and Algorithms in Python, by Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser, First Edition, Wiley, 2013

  • Other Reference Books :

    • Introduction to Algorithms by Cormen, Leiserson, Rivst, and Stein

    • Fundamentals of Data Structures by Horowitz and Sahani

Academic integrity

Students enrolled in this course are expected to exhibit a strong desire to learn, rather than just fulfilling a requirement for their degree. Engaging in discussions that help students better understand concepts or problems is encouraged. However, all submitted work must be original. Plagiarism, including copying from the internet, textbooks, or any other source for which the student does not hold the copyright, as well as sharing code with other students, will not be tolerated and will result in strict disciplinary action, including a failing grade in the course. If you have any questions about this policy, please contact the instructor. All academic integrity violations will be handled in accordance with institute regulations.

Grading Policy
  • Theory

    • Quizzes Two pre-announced quizzes will be conducted during the semester. The quizzes will account for 20% of the overall grade. Check the course calendar for the quiz dates.

    • Exams There will be an end-semester exam that will account for 30% of the overall grade.

  • Labs

    • Labs will account for the remaining 50% of the overall score.

Attendance

This course follows the attendance criteria mandated by the institute.

Tentative Course Schedule

week 1 - Introduction OOP, Arrays, and Linked Lists
week 2 - Analysis Tools and Recursion
week 3 - Stacks and Queues
week 4 - Tree Structures and Heaps
week 5 - Sorting and Priority Queues
week 6 - Maps, Hash Tables
week 7 - Search Tree Structures I, Quiz 1
week 8 - Search Tree Structures II
week 9 - Search Tree Structures III
week 10 - Buffer week
week 11 - String Processing
week 12 - Dynamic Programming, Quiz 2
week 13 - Graphs I
week 14 - Graphs II
week 15 - Graphs III
week 16 - Buffer week

Lecture Material

Students enrolled in the course can access the lecture material from LMS Link