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.
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 Ali M•
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•
It's better to watch the Youtube videos to understand the concepts.
By Miguel R•
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 Ahmad M•
the instructor is not good for me
By sudheer n•
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•
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•
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•
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.
Nice introduction into string algorithms, even though Ukkonen's algorithm is missing and slides sometimes contain buggy pseudocode.
By To P H•
some long and complex episode needs more specific examples to help learner visualise
By Cheung W C•
A good string algorithm course but the exercises are too hard.
By Kota M•
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•
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•
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•
Good contents, but lectures could be improved for clarity.
By Henry R•
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•
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•
The excercises should be set up to be more comfortable.
By Евгений С•
Я начал это пару дней назад и усердно занимался этим в рамках своей специализации. У меня осталась всего одна викторина, и 23 ноября неожиданно подошел дедлайн, несмотря на то, что я уделял курсу много времени и фактически прошел его за два дня. Я полностью закрыл все 6 курсов по специализации, кроме одной викторины из 6 вопросов на 4 неделе. Теперь кто-то решил, что следующий набор только через полгода, серьезно? Все, что мне нужно, это пройти автоматическую проверку 6 вопросов без участия человека и получить заветный сертификат. Но получается, что я зря потратил деньги? Что стоит продлить курс? Я не могу ждать так долго и доплачивать. Могут ли модераторы как-то повлиять на это, сообщив людям, которые могут помочь?
By Troy D•
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•
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•
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•
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•
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•
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!