Chevron Left
Back to Algorithms on Strings

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

954 ratings
164 reviews

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

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

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

Jan 30, 2017

The excercises should be set up to be more comfortable.

By Евгений С

Nov 23, 2020

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

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

By Christopher B

Mar 17, 2017

Another great course! I am a little sad since it was only 4 weeks long when the rest were about 5 weeks each. I feel like there may have been another topic (regular expressions?) that could have been covered but these are still great and now I see how we can do string matching in things like text editors and do them in O(n) time. Wonderful series, I've certainly grown a lot in just these past 4 online courses, keep up the great work! My advice to people taking these courses, be prepared to put time and really think about what you're doing. Try applying the things here to things you see in real life and you'll find they have much more relevance. Cheers and good luck!

By Joshua M

Aug 26, 2017

Fantastic course. I love that this series is really challenging for me. The content covers a lot of ground, and the problems are difficult and make you really understand how to implement the concepts. This course in particular has made me very interested in pattern matching algorithms. I can't quite keep up with the pace, but that's okay because I'm not in a hurry and I can just switch sessions to go at my own speed. I've been recommending Coursera courses to people I know or meet for sometime now. It's my favorite resource for intensive undergraduate and graduate level material on the internet. Good job!

By mbishibishi e

Sep 22, 2019

I like the way this course walks through pattern matching step by step. One way of effectively taking the courses in this specialization is to solve a fraction of the assignments in each week, then move on and do the same for the a few following weeks, then after you've reached to a few weeks ahead, return to solve the rest you haven't solved. This way, you will be able to revise what you learned in the past weeks and revisiting them will reinforce the material in your brain. The instructors did a great job preparing real programming challenges!

By Christopher W

May 10, 2020

This course totally blew my mind. I always wondered how programs were able to find patterns in long strings so quickly, well mystery solved. I can't imagine the minds of the people who came up with these algorithms, I found it challenging just to have them explained. The lectures were clear, the assignments were illustrative and challenging. What a great experience.