CS213 - Data Structures and Algorithms

CS213 - Data Structures and Algorithms

Instructor

Sharat Chandran

Semester

Spring ‘20

Course Difficulty

Moderate - difficult if your coding basics are not strong and will require more time commitment. If you have a background of CP should be quite easy for you.

Time Commitment Required

Assignments were quite heavy. Will require good amount of time to understand everything clearly. Lectures also will need good time to absorb.

Grading Policy and Statistics

Normal
12 AAs
22 ABS
35 BBs
8 BCs
21 CCs
8 CDs
5 DDs
out of 111

Attendance Policy

None

Pre-requisites

Knowing DSA beforehand, competitive coding experience will help a lot

Evaluation Scheme

Was not announced clearly in the beginning and was kept under the wraps till the end.
Initially best 5 out of 7-10 tasks were announced but only 6 were given till the end and only 5 were graded. Each had 15% weightage.
Midsem and endsem also had 15% weightage
10% were participation and miscellaneous.
Vivas were announced but later cancelled. Scheme can change anytime with this prof.

Topics Covered in the Course

Priority Q
Recursion 
Quicksort, Analysis
Analysis, and the Method of Summation
Generating Functions, ADT, Dynamic stack 
Dynamic stack implementation (OOP)
Stacks and Linked Allocation
Iterators, Containers, Position
Trees: Basics, Representation, Traversal
Euler Tour, Dictionary (BST), Hashing
Tree
BFS, DFS
Topological sort
Single Source Shortest Paths
Minimum Spanning Trees
Order statistics
Balanced trees
Trie

Teaching Style

Pre recorded lectures of about 2 hours were provided every week. Quality of audio in videos is not very good. Teaching is okayish. Prof is very particular about his rules and his instructions are very diplomatic and confusing.

Tutorials/Assignments/Projects

Assignments were quite heavy taking up entire weekends to complete. Will help a lot to get a grip on the subject and also frustrating at times. Plagiarism is strictly checked for and heavily penalized as well.

Feedback on Exams

Exams were online timed contests. Execution was very bad. You will have to write code for each ques and also explain your logic in a separate document in a very short time. Instructions were very long and complicated, which reduced time to solve the question. This is specific to this prof and online sem. Offline sem might have Fill in the blanks or write your logic based questions.

Motivation for taking this course

It is a pre-requisite for most CS courses and also a compulsory course for completing your CS minor.

Course Highlights

Will give you a good idea of most data structures and algorithms

Course Importance

Very useful. It introduces you to the necessary basics for anything ranging from competitive coding, company tests, and any CS course which has DSA as a prerequisite

How strongly would I recommend this course?

I would very highly recommend you to take this course if you are interested in pursuing CS in the future.

When to take this course?

I had taken this in my 4th sem since it was not offered in the 3rd sem. I would suggest you to take it as early as possible so that you will have more freedom to choose courses as ALCs/IEs from the CS department as most of them have DSA as a prereq.

Geeks for geeks - https://www.geeksforgeeks.org/
Graph algorithms - https://www.youtube.com/channel/UCD8yeTczadqdARzQUp29PJw

CS 213 Review By: A.Vikram