Chevron Left
Back to Algorithms for Searching, Sorting, and Indexing

Learner Reviews & Feedback for Algorithms for Searching, Sorting, and Indexing by University of Colorado Boulder

226 ratings

About the Course

This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters. Algorithms for Searching, Sorting, and Indexing can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at

Top reviews


Aug 10, 2021

this is the best course on data structures that i have found! Pr. Sriram Sankaranarayanan thank you! if i was a multi-billionaire i would definitely donate a check to you for this wonderful course :)


Oct 2, 2021

Well laid out course which is both concise and has elaborate assignments which help in learning the concepts well. Many thanks to the professor for his effort.

Filter by:

1 - 25 of 68 Reviews for Algorithms for Searching, Sorting, and Indexing

By Daniel D

May 27, 2021

Professor Sriram's lectures at first seemed repetitive, but he does a good job of introducing and reinforcing the subject material and he presents worked examples that illustrate an algorithm or data structure very well. Overall, I thought his lectures were very good. The quizzes provide quick feedback on how well you learned what was just taught, although the formula entry questions could do with a little rework (it's not at all clear how to enter formulae). The programming assignments also helped to become familiar with and understand the material presented that week, without requiring sleepless nights to complete them. So why the 1 star rating? ProctorU. ProctorU is awful. It does not work as promised and does not add value. Their intro video implies that all you have to do in order to be ready to take your exam is download the browser plugin and prepare your exam area. Buried deeper, and easy to miss, is the need to allow screen recording. Buried deeper, and easy to miss, is the fact that you need to download LogMeIn. ProctorU says that LogMeIn allows you to connect with your proctor. In truth, LogMeIn allows someone you have never met and cannot see to have total control over your computer. This is appalling. The LogMeIn issue alone would be bad enough, but proctorU failed to work several times during my exam and required long interrupts while the proctorU technicians tried to fix things. They have a cut and paste blame-the-user message that your CPU or connection is inadequate. On my laptop, with my connection, I routinely have two-way full video Zoom calls while simultaneously running Slack, PyCharm, Android Studio and three web browsers with multiple tabs open in each. Yet proctorU says that running one browser with two tabs and LogMeIn and nothing else is more than my laptop can handle. During the interrupts while they try different things to fix their problems, the exam taker does NOT get back any of the time wasted due to proctorU's incompetence. As part of proctorU trying to fix things, they would take over my laptop via LogMeIn and try to reinstall the browser plugin; they would accept the ToS on my behalf without asking me. I think this is unethical. Finally, when I had limped to the end of the exam the "Submit" button was not enabled. I contacted the proctor. She told me to reload the page. The "Submit" button was then enabled, but reloading also wiped out half of my answers and I had to re-enter them. The web is rife with proctorU horror stories. Search on "proctorU, ucsb" and see how proctorU responds to criticism: Not by trying to refute it, but rather by trying to intimidate the critics with threats of litigation and prosecution. I really wanted to pursue the MSDS with CU Boulder, but I don't plan to do so given that they use proctorU. This was a very expensive lesson for me. I will also leave a similar review for 5502 (Trees and Graphs) where my proctorU experience was even worse.

By Parisa T

Dec 20, 2022

The time estimate for this course is inaccurate. There are too many technical issues running and submitting the labs. The material is lumped together and not broken down. It is a messy and confusing layout.

By Willian D A V

Feb 12, 2022

Pretty boring introductory video, almost 30 mins of non-practical information.

By Xoab P

Oct 27, 2021

Short but excellent course that covers a few key algorithms and data structures. The videos are great and the professor adds helpful insights and comments throughout. The workload generally took longer than the estimates (Coursera told me that people usually finished weekly assignments in like 3 hours??), and in particular the recommended reading takes longer than the estimates, but it was still very reasonable for me and I just mention this so people know what the expect. In particular, though the readings can be long, they are useful for the additional perspective in some cases. I was uncertain whether I would enjoy the week on hashing, and unexpectedly loved it. It was extremely interesting and a great deep dive into the many applications and ways of hashing. The assignments and quizzes were relevant and good tests of knowledge, but I would have liked longer assignments implementing more of the material (I ended up just doing this on my own, but guidance/purpose would have been nice. E.g., for the last week, the assignment covered Bloom filters and Count-min sketch, but I would have also liked to test the string matching, cuckoo hashing, and perfect hashing.) Regardless, the course definitely prepares one to do these outside of the course and balances details with analysis of complexity to make it overall a fantastic course.

By J. B

May 6, 2022

Great course with very concise explanations. Two things I think could be improved:

1). The instructor uses a lot of one letter variables to describle positions, indices, etc. This is common in Math, but it might be more approachable for learners without a significant mathematical background to write out what "k" or "m", etc., is on the board so that the learner has it for a reference. This is done on occasion, but could be emphasized more. Also, the slides were much easier to read than the transparent "whiteboard".

2). Some of the code can be quite confusing, even more so if the learner is newer to coding. For example, in the assignment on Heaps, in part 1 we create a MinHeap class, where the actual heap (the list) is called "self.H".

In the next section, there is a list called "self.A", and then an instantiation of the MinHeap class from the previous section, also called "self.H". This means that, to access the actual Heap itself (the list within "self.H"), you are writing "self.H.H". I would think that if someone was newer to writing and reading code, that would be a pretty confusing line. There are other examples like this as well in different places throughout the assignments.

Overall, though, great course! Thanks for all of the effort that went into creating it!

By Spyros T

Aug 11, 2021

this is the best course on data structures that i have found! Pr. Sriram Sankaranarayanan thank you! if i was a multi-billionaire i would definitely donate a check to you for this wonderful course :)

By zachary k

Jun 22, 2021

Great course. Concise towards the applications and not too theory heavy.

By Free S

Mar 30, 2022

I have grade 100% My mail id-

By Bhargav R

Jul 23, 2021

Course content is very good. Prof Sankaranarayanan has done a great job explaining the concepts. And further to it, the programming assignments were great, which increases the grasp of the concepts learnt from videos. I enjoyed a lot doing the assignments. Giving 4 stars rather than 5 as, some of the references mentioned was not provided. Overall a great course indeed.

By Hamzah A

Jun 13, 2022

What I liked in this course:

The course is well designed and covers many topics.

The way the instructor explains algorithms is good.

One of the best parts of this course is the theoretical assignments in the course after each video.

What I wish if it improves:

There are a lot of theories, e.g., proofs inside this course, which is not good for a person in industry.

The assignment, particularly assignments 2 and 3, they are not aligned with the concepts in the corresponding week. I wish if the assignments 2 and 3 as assignments 1 and 4.

I saw the assignments are almost written and there are very short parts to complete by the students, and in my opinion will not improve the skills of students in algorithms and data structures.

Some concepts are lack of examples at least small examples, e.g., Bloom filter, Count-Min sketch, String matches.

By Ami O

Dec 5, 2022

reviews what is should but the instructor is unclear and very messy

By Suvam D

Sep 4, 2021

Difficult for an UG student

By Lukas

Mar 26, 2022

Week one had examples in Jupiter Notebook, which were helpful in completing the programming assignment for that week, but in week two there were no ipynb examples, so it made the programming assignment a lot harder, for my purposes, too hard to give this course enough time it would take me to complete it. :/ I think if it were explained like in week one, I would have completed the course. But hey, maybe it was just too advanced for me.


Nov 16, 2021

Not well explained. These things are already written in the book and well manerred, Then why do we have to take the video lecture as well?

By Renato R

Feb 1, 2023

Very boring theoretical classes that are way too long.

Quizzes are ok. Programming assignments with tons of issues.

By Linus L

May 15, 2022

The worst course ever!

By Sina S S

Oct 27, 2022

I am a data analyst without a CS background, and this course helped me understand the fundementals of time/space complexity analysis. The instructor is really good in explaining the concepts. The only downside is the low sound quality in some episodes and the squeaking sound of the marker on the glass becomes really annoying at times. Also, beware that some rigorous mathematic proofs are presented in this course. Overall, a really solid course. Thanks to all the people involved in preparing this course.

By Jeffrey C

Apr 13, 2022

Great course overall. Helps teach you searching, sorting, and indexing algorithms and tests your knowledge with weekly assignments. The assignments could've been better implemented, but get the job done. The lectures were great and informative, although the algorithmic analysis always left me bewildered by the mathimatical proofs being used. Would reccomend for anyone interested in learning the topic.

By Md A

Dec 4, 2022

If there are very few good courses about data structure and algorithm to people very new to the field with minimum programming experiences, I must say, This is ONE OF THE BEST course to choose. Very thankful to the teacher who teaches in a way that you can imagine the whole process in your head. Love to all people did hard work to make this course available to people.

By Neelam B

Jun 23, 2021

I really enjoyed the pace and the lectures were very engaging. I also really enjoyed the assignments. I was nervous at first about not being able to communicate with my professor but with time, I was able to figure out everything by myself and using the internet whenever I was unsure of something. I am looking forward to the next course.

By Amir Z

Dec 31, 2022

This course was one of the best online courses I have taken so far. The content of the videos was rich and one would get a pretty deep understanding of the intended subjects by taking this course. The quizzes and the programming assignments were welly designed too. I am looking forward to taking other courses by this instructor.

By yosef c

Dec 11, 2021

It wasn't an easy course. The instructor is very engaging. The assignments are fair. It could be better if the lectures were with better presentations. I think that interactive presentations could add a lot to this topic. There are sites like "Visualgo" which could be great for this purpose.

But in general, it was a good course!

By Tuan C

Nov 3, 2022

This course is great for those who are looking to improve algorithmic skills. The professor did a very good job in explaining complex ideas in an easy to understand manner. The course uses CLRS as text book. Some concepts in the text book were made understandable through the professor's guidance.

By Jayakhanna P

Mar 20, 2022

Overall was really good. The assignments and quiz focussed on thought process rather than exhaustive programming skills, which was what's really needed to test the skills. Giving the boiler plate code was really helpful to finish the assignments easily.

By Thammarak M

Aug 5, 2021

Prof. Sriram's lectures give a clear explanation of an otherwise difficult subject. The content is very up to date. The programming exercises are well designed to help deepening the understanding of the subject. Thank you much for the course.