CS213 - Data Structures and Algorithms
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
out of 111
Knowing DSA beforehand, competitive coding experience will help a lot
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
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
Single Source Shortest Paths
Minimum Spanning Trees
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.
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.
Will give you a good idea of most data structures and algorithms
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.
Interesting relevant links
Geeks for geeks - https://www.geeksforgeeks.org/
Graph algorithms - https://www.youtube.com/channel/UCD8yeTczadqdARzQUp29PJw
CS 213 Review By: A.Vikram