This syllabus has been revised in the recent past with the course number being the same.
Showing the latest revision in section Curriculum 2022. The earlier version is in section Curriculum 2017.

Curriculum 2022

Prerequisite (if any) : Data Structures and Algorithms (prerequisite/corequisite), Systems Programming

Course Content

This is a companion lab of the Data Structures and Algorithms course. In this course, the students will learn to implement basic data structures in C/C++ and to use them for implementing some of the standard algorithms they learned in the theory course. A sample offering is given below.

Weeks 1-2: Iterative and recursive algorithms such as linear search, binary search, Towers of Hanoi and Euclid’s GCD algorithm.

Weeks 3-4: Selection sort, insertion sort, quicksort, external merge sort.

Weeks 5-6: Linked lists - single and doubly linked lists, queue and stack using linked lists.

Weeks 7-9: Binary trees, binary search trees, expression trees and infix-postfix conversion.

Weeks 10-11: Heaps and priority queues using min/max heaps. Graphs - representations and traversals.

Learning Outcomes

  1. To be able to implement basic data structures and some of their standard applications.

  2. To develop the ability to design and implement simple algorithms using the appropriate data structure learned in the course.

Curriculum 2017

This is a companion lab of the Data Structures and Algorithms course. In this course the students will learn to implement basic data structures and to use them for implementing some of the standard algorithmic applications they learned in the theory course.

Syllabus

Computations on arrays - binary search, bubble sort, insertion sort, quicksort, external merge sort, heaps and heapsort, priority queues using heaps.

Linked lists - single and doubly linked lists.

Queue and Stack data structures - array based and linked list based implementations. Infix to postfix conversion and expression evaluation.

Graphs - Adjacency matrix and adjacency list representations, DFS, BFS.

Binary Trees, Tree traversals, Binary search trees, B-Trees.

Textbook(s)

  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L Rivest, Clifford Stein. Introduction to Algorithms, Third Edition, PHI Learning, 2009. ISBN:978-81-203-4007-7.

  2. Sanjoy DasGupta, C. H. Papadimitriou, Umesh Vazirani. Algorithms, First Edition, Tata McGraw Hill, 2006. ISBN: 978-0073523408.

Sample offering :

Weeks 1 to 4: Computations on arrays - binary search, bubble sort, insertion sort, quicksort, external merge sort, heaps and heapsort, priority queues using heaps.

Weeks 5 to 8: Linked lists - single and doubly linked lists. Queue and Stack data structures - array based and linked list based implementations. Infix to postfix conversion and expression evaluation.

Weeks 9 to 12: Graphs - Adjacency matrix and adjacency list representations, DFS, BFS. Binary Trees, Tree traversals, Binary search trees. B-Trees.

Past Offerings

  • Offered in Aug-Dec, 2022 by Unnikrishan C
  • Offered in Jul-Dec, 2021 by Jasine
  • Offered in Jul-Dec, 2020 by Unnikrishnan, Chandra Shekar
  • Offered in July-Dec, 2019 by Sahely, Krithika
  • Offered in July-Dec, 2018 by Krithika, Albert

Course Metadata

Item Details
Course Title Data Structures and Algorithms Lab
Course Code CS2130
Course Credits 0-0-3-2
Course Category PMC
Proposing Faculty Jasine Babu &Krithika Ramaswamy
Approved on Senate 20 of IIT Palakkad
Course prerequisites Data Structures & Algorithms (Prerequisite/Corequisite), Systems Programming
Course status revised
Course revision information CS2010 Data Structures & Algorithms Lab