CS29003 Algorithms Laboratory - Spring 2022


Instructor: Somindu Chaya Ramanna and Palash Dey

Teaching Assistants: Sunandan Adhikary, Amaljith E. V, Suvadeep Hajra, Sipra Singh, Ipsita Koley, and Swarnava Das

Course overview:
 The laboratory component will emphasize two areas: Implementation of algorithms covered in class: This will involve running the algorithms under varying input sets and measuring running times, use of different data structures for the same algorithm (wherever applicable) to see its effect on time and space, comparison of different algorithms for the same problem etc. Design of Algorithms: This will involve design and implementation of algorithms for problems not covered in class but related to topics covered in class. The exact set of algorithms to design and implement is to be decided by the instructor. In addition, there will be at least one significantly large design project involving some real world application. An efficient design of the project should require the use of multiple data structures and a combination of different algorithms/techniques.

Classes: Tuesday (14:00–16:55) [Slot L].

Grading: 2 Lab Tests: 60%; Weekly Assignments: 40%

Announcements: Assignments:
January 11 SCR A0 PDS Brush up (not graded) --
January 18 SCR A1 Time Complexity of Algorithms Sample code
Evaluation Guidlines
January 25 PD A2 Recursive Formulation for Algorithm Design Sample code
Evaluation Guidlines
February 1 SCR A3 Divide-and-conquer Evaluation Guidlines
February 8 PD A4 Greedy Algorithms Sample code
Evaluation Guidlines
February 15 SCR A5 Dynamic Programming Evaluation Guidlines
February 22 PD C1 First class test Sample code
Evaluation guidline
March 1 PD A6 Tree --


References:
  1. Thomas H Cormen, Charles E Lieserson, Ronald L Rivest and Clifford Stein, Introduction to Algorithms.
  2. Jon Kleinberg and Éva Tardos, Algorithm Design, Pearson, 2005.
  3. Sanjoy Dasgupta, Christos H. Papadimitriou and Umesh V. Vazirani, Algorithms, Tata McGraw-Hill, 2008.

Policy on Plagiarism

Academic integrity is expected of all the students. Ideally, you should work on the assignment/exam consulting only the material we share with you. You are required to properly mention/cite anything else you look at. Any student submitting plagiarised code will be penalised heavily. Repeated violators of our policy will be deregistered from the course. Read this to know what is plagiarism.