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 sudheer n D•
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 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 Ahmed M•
the instructor is not good for me
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 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!
By Christopher W•
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.
By Ilyas B•
No complex data structure gave me more problems than the suffix tree. Im used to coding anything, segment tree, lazy segment tree, suffix array, weighted union find, graphs, balanced trees, what ever. Still, i couldn't code a suffix tree until i took this corse. I can tell any one intrested that it's not easy, but their best shot is this course.
By Oliver A•
The course content was a bit disconnected this time with some missing parts in between. Maybe it would been better to start with simple string matching and basic data structures and only then progress to the genom processing part.
Fortunately the programming assignment cleared a great deal of the confusion. Never the less a very good course!
By Jonathan O•
This course was not my favorite in the Specialization -- the content just wasn't as interesting, making some of the more demanding problems pretty difficult, but nothing was too difficult, given the excellent preparation delivered via the lectures. Everything you need to know for a problem was given right before!
Still, amazing course.
By THARANGINI S•
Truly one of the best coding experience I have ever had. The lectures were greatly informative and important in terms of content . The assignments(including the optional questions) were made to test the capability of thorough understanding of the topics . My greatest gratitude to the lecturers who taught the course. Great Experience!!
By Priyansh B•
I still can't believe that there can be so many algorithms on string pattern matching. Lots of interview questions are based on string algorithms and the I believe that the skills I got from this course is definitely going to help to crack interviews in the future.Moreover, I can implement an efficient search engine efficiently.
By Connor W•
In my opinion this is not the best course in this specialization as some of the contents seem to be absent and students were referred to their other book/course on Bioinformatics. The course does however introduce most of the important algorithms in strings, coupled with good programming exercises.
By Andrey K•
There are some too hard algorithms to implement, but it worth it. It allows to develop patience, mental skills and self-education. I highly recommend this course, some algorithms described here are crucial for computer science and must have to know.
By Shouman D•
Very good course. I learned a lot. The most important part is the assignment. I have not watched all the videos, but checked it only when I am stuck at the programming assignment and the slides are not enough to understand.
By Arjun M•
Great content! It gets a little complicated as there are too many notations to keep track of. Probably best to read and re-read a lot several times. Teaching is also very good. Looking forward to the next course.