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

329 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 :)


Jan 17, 2024

It was a good course, but i think that more examples for the practical tasks would have made it a lot better. Sometimes it took me a long time to understand the requirements.

Filter by:

1 - 25 of 98 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 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 Joseph H

Jun 12, 2023

The professor is really not so great at explaining any concept. It's not his accent, his English is perfect almost, it's really he just can't teach very well. A lot of times he will take 30 minutes to explain a concept that I need to lookup on YouTube where someone will explain it more concisely in about 5 minutes.

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 Anthony T

Oct 18, 2023

Challenging course with the resources provided to get it done! Looking forward to taking more courses from professor Sankaranarayanan

By Patrick L

Jul 18, 2023

honestly i have no idea why almost all the courses made by cu boulder are blurry, especailly for the problem sets.

By Ryan O

Jun 10, 2023

The textbook was way too complicated for the level of knowledge needed for this course. You should create a university textbook that covers each topic covered, with exact python code implimentation so that students can see the comparison of pseudocode and python next to eachother, with explanations of each step. The lectures were nice but there should be more examples of each case in each topic. Just for cases as in the final that are different from the normal methods discussed. Additionally, the dissussion forums were not used and/or monitored to standard. This needs more attention and involvement correlated to student grades. Overall, very well presented for an online course.

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 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.

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 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 Esmat J L

Oct 3, 2023

It was comprehensive, provides required information about Algorithms for searching, etc.

By zachary k

Jun 22, 2021

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

By Jose C

Sep 17, 2023

Excellent course. Very well explained and great assignments.


By Zijian Z

Dec 23, 2022

Great course, the first course I take before my master study.

By Uttam K

Jun 17, 2022

It is amazing course which I have taken and learn algorithm .

By Free S

Mar 30, 2022

I have grade 100% My mail id-

By Guru V

Oct 11, 2023

Explained in neat manner

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 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


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 Ribeiro, 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!