COL106: Data Structures and Algorithms

General Information

Semester: Sem II, 2021-22.

Instructors: Amit Kumar (email: amitk AT cse.iitd.ac.in) and Parag Singla (email: parags AT cse.iitd.ac.in)

Class Timings (Slot F):
• Tue, 11:00 am - 12:00 noon
• Thu, 11:00 am - 12:00 noon
• Fri, 11:00 am - 12:00 noon
• Sat, if required (time to be announced)
Venue: Online (MS Teams)

Code: As announced in class/over email

Announcements

• [Mar 24, 2022]: Assignment 4 is out. Due Date: Friday Apr 15th, 11:59 pm.
• [Mar 8, 2022]: Assignment 3 is out. Due Date: Tuesday Mar 22nd, 11:59 pm.
• [Feb 6, 2022]: Assignment 2 is out. Due Date: Sunday Feb 27th, 11:59 pm.
• [Jan 23, 2022]: Assignment 1 is out. Due Date: Sunday Feb 6th, 11:59 pm.

Course Objectives

1. To learn the fundamentals of basic data strcutures
2. To argue formally about correctness and efficiency of various data structures
3. To learn various algorithms supporing operations on data structures
4. Get hands on experience working with basic data structures in a Programming Language (JAVA)

Course Content (Week-wise)

 Week Topic Slides Book Chapters 1.1 Introduction Introduction 1.2,1.3,2.1 Aysmptotic Complexity Asymptotic Analysis 2.2,2.3 Linked Lists Linked Lists 3.1,3.2 ADT, Stacks ADT, Stacks 3.3,4.1 Queues Queues 4.2,4.3 Trees (Introduction) Trees 5.1,5.2,5.3 Binary Search Trees (BSTs) Binary Search Trees 6.1,6.2,6.3 AVL Trees AVL Trees 7.1,7.2,7.3,8.1 2-4 Trees, B-Trees 2-4 Trees, B-Trees 8.2 Tries Tries 8.3,9.1 Heaps Heaps 9.2,9.3,10.1 Hashing Hashing 10.2,10.3,11.1 Sorting Sorting 11.2,11.3,12.1,12.2,12.3 Graphs Graphs [updated April 7, 2022]

Assignment Submission Instructions

1. You are free to discuss the assignment problems with other students in the class. But all your code should be produced independently without looking at/referring to anyone else's code or discussion notes. JAVA is the default programming languages for the course. You should use it for programming your assignments.
2. Code should be submitted using Moodle Page. Make sure to include comments for readability. Specific submission instructions will be released for each assignment on Piazza.
3. Honor Code: Any cases of copying will be awarded a zero on the assignment and a penalty of -10. More severe penalties may follow.
4. Late Policy: You will get a penalty of 10% deduction in marks (per day) for every late day in submission upto a maximum of 3 days, after which you will get a zero on the assignment.

Assignments

1. Assignment 4. Vocabulary File
Due Date: Friday April 15th, 2022, 11:59 pm
2. Assignment 3
Due Date: Tuesday Mar 22nd, 2022, 11:59 pm
3. Assignment 2
Due Date: Sunday Feb 27th, 2022, 11:59 pm
4. Assignment 1
Due Date: Sunday Feb 6th, 2022, 11:59 pm