CS 213: Data Structures and Algorithms

Prof. Ganesh Ramakrishnan

Course Description:

It is a basic course which covers large number of data structures used in everyday programming. It helps to reduce the complexity of so many programs. Algorithms are at the heart of any programming language and once you grasp an algorithm you have so many different approaches for it according to your needs. This is really a beneficial course and if you like coding for real, then this course will surely help you improve your programming skills.

Course Content:

This course introduces the most widely used data structures, how they are implemented differently for different programs and how they affect the complexity of the program.

It begins with the implementation of general data structures like implementation of stacks, queues, lists and tree structures and then with the understanding of template classes of C++ like vector class.

The post midsem syllabus covers the topics on hash tables and its implementation, sorting algorithms and their complexities and graphs.

Attendance, Course Load and Grading:

No compulsory attendance.

2 quizzes with weekly programming assignments along with a midsem, endsem and a project.

3 hrs per week of lectures. 5 hrs of overall effort per week is well enough to begin with but attending lectures is very important after the midsem.

Added Information:

Good in-class lectures and above par video lectures. The programs are generally made in c++ language so you must have command over that.