Course Objective

The objective of the course is to help students learn basic algorithms and their rigorous analysis. The analysis will involve proofs of correctness and efficiency analysis of implementation using appropriate data structures. The course also will provide a detailed introduction to the different algorithm design paradigms for problems from various domains.

Course Contents

Preliminaries: Asymptotic notations, Efficiency of algorithms, Notions of time and space complexity. (3 lectures)

Design Paradigms: Greedy Strategy, Divide & Conquer and Dynamic Programming with applications in different problem domains like sorting, searching, string matching, scheduling and simulation. (15 lectures)

Graph Algorithms: Depth First Search, Breadth First Search, Minimum Spanning Tree algorithms, Shortest path algorithms, Network flow algorithms. (24 lectures)

Learning Outcomes

  1. To acquire basic mathematical tools and techniques for algorithm design and analysis.
  2. To familiarize with basic data structures and develop the ability to choose the appropriate data structure for designing efficient algorithms.
  3. To develop the ability to analyze the running time and prove the correctness of algorithms.
  4. To be able to design efficient algorithms for computational problems using various algorithm design techniques taught in the course.

Text Books

  1. Introduction to Algorithms (3rd Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. PHI Learning, 2009. ISBN:978-81-203-4007-7.
  2. Algorithms by Sanjoy Dasgupta, Christos H. Papadimitriou, Umesh Vazirani. McGraw-Hill Education, 2006. ISBN: 978-0073523408.

References

  1. Algorithm Design by Jon Kleinberg and Eva Tardos. Pearson, 2015. ISBN:978-93-325- 1864.
  2. The Design and Analysis of Algorithms by Dexter C. Kozen, Springer, 1992. ISBN: 978-0- 387-97687-7.

Past Offerings

  • Offered in Aug-Nov, 2023 by Krithika Ramaswamy
  • Offered in Aug-Dec, 2022 by Jasine Babu
  • Offered in Jul-Dec, 2021 by Krithika
  • Offered in Jul-Dec, 2020 by Jasine

Course Metadata

Item Details
Course Title Algorithms
Course Code CS5009
Course Credits 3-1-0-4
Course Category PMT
Proposing Faculty Jasine Babu & Krithika Ramaswamy
Approved on Senate 11 of IIT Palakkad
Course prerequisites -
Course status new