Chevron Left
Back to Algorithms on Strings

Learner Reviews & Feedback for Algorithms on Strings by University of California San Diego

1,078 ratings

About the Course

World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Moreover, the emerging field of personalized medicine uses many search algorithms to find disease-causing mutations in the human genome. In this online course you will learn key pattern matching concepts: tries, suffix trees, suffix arrays and even the Burrows-Wheeler transform....

Top reviews


Jul 7, 2019

Very good course. String algorithms are very important in day today life and one should really know how to solve command problems related to it. This course have described everything so well.


May 12, 2020

course content was great but i personally feels some difficulties in the implementation part so the course is meant to be more implementation oriented . thank you for the wondorful course

Filter by:

1 - 25 of 191 Reviews for Algorithms on Strings

By Ali M

Jul 7, 2017

The instruction was poor, specially those by Michael Levin. I had to turn to other resources to understand the material.

The assignments have a few very easy questions and 1 or 2 rather challenging ones. It is enough to do the easy ones to pass and you can do them by simply implementing the pseudo-codes on the slides without a through understanding of the material.

I took all the other courses in this specialization (up to this one). I gave them 5, 4, and 3 stars. Overall, the lectures by Alexander S. Kulikov and Daniel M Kane are great. Unfortunately, they were absent from this course.

By Deleted A

Aug 21, 2016

It's better to watch the Youtube videos to understand the concepts.

By Miguel R

Oct 19, 2016

This course is not precisely bad, but it's very lacking compared to the other courses in the specialization. Here are my complaints:

-Much of the more interesting bits say "check out this other course in bioinformatics for details". Of course, if you aren't registered for that other course, you don't have access to those materials.

-Not a lot of thought went into the homeworks. All of them are "implement this. Here is some pseudocode", with no "think about a problem that can be solved with the same ideas", like the other courses in the specialization (which are, in my opinion, much better).

-We saw 4 algorithms for string matching (KMP, Rabin-Karp, suffix array matching, Burrow-Wheeler's transform), but virtually no discussion on when to use each one, strengths and weaknesses, and so on. Also, no Boyer-Moore?

-After passing all test cases for a homework, we should be able to download a solution with the correct implementation, in order to improve our own.

By Ahmed M

Jun 6, 2020

poor explanation

the instructor is not good for me

By sudheer n

Sep 15, 2019

Complexity of this course is a little high compared to other courses of this specialization if you look at the course content, but you won't feel like so when you are doing the course because of the magic of Michael Levin and Pavel Pezner. They have made it very easy to understand the basics of each and every algorithm presented through this course.

By Adel F

Aug 20, 2019

Takes your understanding of string algorithms to the next level and gives you new ideas of handling large amount of memory intensive tasks.

By Juho V

Jul 26, 2018

Really interesting stuff, but the explanations are not always very clear. Some of the algorithms are quite complex and they cannot be made any easier than that, but some well chosen visualizations would do wonders.

By Евгений С

Nov 23, 2020

Я начал это пару дней назад и усердно занимался этим в рамках своей специализации. У меня осталась всего одна викторина, и 23 ноября неожиданно подошел дедлайн, несмотря на то, что я уделял курсу много времени и фактически прошел его за два дня. Я полностью закрыл все 6 курсов по специализации, кроме одной викторины из 6 вопросов на 4 неделе. Теперь кто-то решил, что следующий набор только через полгода, серьезно? Все, что мне нужно, это пройти автоматическую проверку 6 вопросов без участия человека и получить заветный сертификат. Но получается, что я зря потратил деньги? Что стоит продлить курс? Я не могу ждать так долго и доплачивать. Могут ли модераторы как-то повлиять на это, сообщив людям, которые могут помочь?

By Sabyasachi P

Jun 30, 2020

Week4: Suffix Array Construction in O(|S| log |S|) time and using O(|S|) memory. It was tough to understand the linkage between partial cycles’ order and equivalent classes, how both play role in sorting cycles. It will be great if this can be explained in a better way, how these 2 are linked and help in sorting. May be animated slides that explains visually how cycles order and equivalent classes are related and helps in sorting the next cycle. It is very hard to understand by just following Math formula and pseudo code for this complex algorithm.

Week 3: It as also hard to understand inverting BTW, particularly how to work out the relations between the first and last column. I think the explanation can be better. When I went through other online lectures, I could comprehend easily. I went through Ben Langmead of John Hopkins Whiting School of Engineering lecture in You tube, It was lengthy, but I could comprehend easily BWT inversion section that clearly explains in visual that the first column is virtual and how to calculate the offsets for each row . it will be great if you can enhance the explanation better for such complex algos.

By Chitrang S

Jul 8, 2019

Very good course. String algorithms are very important in day today life and one should really know how to solve command problems related to it. This course have described everything so well.

By Preetam A

May 12, 2020

course content was great but i personally feels some difficulties in the implementation part so the course is meant to be more implementation oriented . thank you for the wondorful course

By Kishor K P

Jun 24, 2018

Learned a lot in the class. It was really excellent. But many a times we need to hear twice to understand some of the concepts clearly.

By shangping g

Jul 16, 2017

Overall, I shall give the course 5 stars, however, I am not very satisfied with the first two weeks. The slides are incomplete and listening to the video is a headache. The professor just confused me and I cannot follow since the material is not well taught. The first week's assignment is so difficult and it spends me several days instead of declared three hours (although almost none of assignments could be done in three hours). The 2nd weeks however, the assignment is so simple. But the most annoying part is still the way it is taught in the first two weeks which almost make me quit this course.

By Andronik

Aug 18, 2016

Nice introduction into string algorithms, even though Ukkonen's algorithm is missing and slides sometimes contain buggy pseudocode.

By To P H

Sep 27, 2018

some long and complex episode needs more specific examples to help learner visualise

By Cheung W C

Jun 29, 2021

A good string algorithm course but the exercises are too hard.

By Kota M

Sep 21, 2016

The lecture was very abstract and difficult. I could pass the course somehow by writing the code presented in the lecture, but I must say I understand less than the half of the course contents.


Responding to question from the instructor, I clarify the comments above.

I found the whole lecture difficult. This may be because the subject is not something I have even thought about. It was difficult to understand the difference and importance of key concepts such as trie, suffix, class, etc. Overall, I learned that the tricks somehow work, but my comprehension was not as deep as I can think about the extension or applications. I guess more examples or providing intuition would help me to digest the material.

By David F

Mar 30, 2017

My least favorite course in the specialization. The lectures are harder to follow, and are actually all about bioinformatics algorithms, which wasn't clear from the course description. Thankfully, as with the graphs course, Michael Levin wades in to save the day for the last couple of weeks. His lectures are really well structured, intuitive and clear.

By Daniel P

Feb 27, 2018

I didn't think the lectures or slides in this course were clear and informative. It seems like they are going for the briefest, most efficient exposition possible. Which is not the same as making the material clear and understandable.

By Lingjian K

Feb 20, 2017

Good contents, but lectures could be improved for clarity.

By Henry R

Jul 13, 2018

It really disappointed me.It was really badly illustrated especially in Burrow-Wheeler Transform. I total lost even watching video lectures many times. Burrow-Wheeler Transform and Inverse Burrow-Wheeler Transform are complex and complicated. The teacher only gave some specific examples and explanation is not clear.

By Fabian B

Jan 30, 2017

The excercises should be set up to be more comfortable.

By Roger T

Dec 4, 2021

Tests are broken and discussion forum doesn't even load. I spent tens of hours troubleshooting solutions to the programming assignment to no avail. As a sanity check, I tried solutions from textbooks and well-established libraries that still did not pass the tests. I wasted a ton of time and cannot get a refund from a course that can't be passed (at least not in my language). The entire specialization was already disappointing, but I endured 3 full courses (answering all questions) before getting stuck on the broken tests of 'Algorithms on Strings'. If you're here for Data Structures and Algorithms, skip Coursera and just grind Leetcode. There's not a 10 min feedback loop due to under-provisioned code running services (that don't properly handle type annotations) and their tests are actually accurate.

By Troy D

Jan 20, 2018

too much focus on DNA problem domain, too abstract & fancy-pants complications for any practical use

interesting as an intellectual exercise tho, the power of chaining crazy ideas to solve hard problems

By Thassilo H

Jul 26, 2016

This class makes string algorithms a very interesting and enjoyable topic, and if you are interested in improving your algorithmic knowledge, I would highly suggest taking this course.

The first algorithms you will learn are motivated by problems from Bioinformatics (genome sequencing), and new interesting problems arise and get solved on the way.

All the material is very well explained so you can really understand why it works and not only how (there are even some very enjoyable proofs here)! The programming assignments (there are a lot of them) give you a hands-on experience implementing the different algorithms. This greatly improves the understanding and is therefore a crucial aspect of this class.