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.

Metadata

Proposing Faculty: Department: Computer Science and Engineering Programme: B.Tech Proposing date: Approved date: Proposal type: Offerings: