I like this course very much! Rope is the cleverest task I have ever done! Of course, I hope in future I will work on even more difficult problems, but this is pretty good already for me as a student!
I think the course content and assignments were great. A suggestion though, it will be more helpful if there are more and varied corner cases that would save time spent in thinking and making cases.
von Stephen T•
The course has excellent homework to help you study, but the course itself sometimes doesn't cover more generally applied knowledge such as red-black BST. Also, the professors' teaching style may be confusing sometimes and require extra work to understand, especially when they didn't have a pen in hand and were just talking quickly to the air. I do hope the following series will eventually tackle these issues, and I'll be glad to give the whole series 5 stars.
von Sumit K•
Should explain more and the content became boring sometime.
von Nakul C•
Its not an Good Course. No indepth details are provided. More focus is laid down on making videos short. There is no Explanation in this course, definitely not for beginner.
von Rishabh G•
literally pathetic studied waste of money charged even canceled subscription. Please refund my One-month extra charge.
von Zsolt S•
All in all a great and challenging course. A big thank you to all the teachers! I especially liked the assignments as completing them forced me to think about all the little details and edge cases.
A few observations/constructive criticisms:
- While the first 3 weeks had almost everything explained rigorously, including complete, usable pseudo codes, the last 2 weeks had lots of holes in terms of details. I think it is down to the fact that it covered a lot, however, pseudo codes suddenly became very high level, to the point where a 5 liner translated to ~100 lines of real code. This in terms meant that learners had to do quite a bit of additional research about the nitty-gritty. Nevertheless I thoroughly enjoyed this extra research, just be mindful about the extra time required.
- There are languages with first class support, namely C++, Java and Python3, which means there are starter files supplied. If you choose a different, supported language then be prepared that you have to implement everything from scratch, which again mean extra time, although I would argue that you will learn more, especially in the last 2 weeks.
- Forums seemed to be more active in the past, especially with regards to teacher contribution. Be prepared to be self-reliant and able to come up with answers to your own questions.
von Jimmy B•
I found the assignments challenging in the absolute best sense of the term, and therefore incredibly rewarding as well! Whenever I've gotten stuck, the answer was always in the course material somewhere, even if I didn't see it there at first. The discussion forums were extremely helpful, and I was astounded to see that that instructors were still actively monitoring the discussion forums and responding to student questions. I'm obviously not an expert in this field, but I've been an educator before, and my own impression of the assignments was that they were extremely well designed: it was impossible to pass them without knowing what you were doing, the tools to approach them were always found in the lectures, and the challenge problems pushed your knowledge even farther. I would recommend the specialization to everyone. Additionally, I noticed that the content aligns well with other DS&A syllabi I have seen in brick-and-mortar institutions, especially the first 3 or 4 courses. It's also a very nice luxury to be able to submit in Python. I have certainly learned a great deal.
von Sergey L•
I always wanted to improve the algorithms and data structures field. The books wasn't so efficient. Especially they weren't so practical. These courses are the first courses where I really got a lot of knowledge. Especially because of assignments. All lectors are very good in explanation of the material and tell many additional useful things. These courses are the really good base, after which you can open the books related to algorithms and read more details if you needed.
I am definitely going to complete the whole specialization!
The only thing which was not convenient for me is that both courses Algorithmic Toolbox and Data Structures are started at the same time. It was difficult to find out the time for both courses and spend enough time to solve all assignments instead of only enough for passing.
Anyway, now I am started the second iteration of the course and I am going to solve all assignments which I skipped.
Big thanks to Daniel, Alex, Pavel, Neil and Mike!
von Theodore G•
Congratulations for this second course of the "Data Structures and Algorithms Specialization". This was again well-designed, informative, and most importantly an extremely educative course. Yes, it is demanding and some times requires significant effort and time for someone to pass the programming assignments. But there is "no free lunch"! Making easy to pass the tests or providing all the test cases may help more people to earn this certification, but the added value of a course that can really learn you how to design better algorithms will be missing. On the downside, I would ask from the instructors to further elaborate on some week lectures (modules), especially if the topic is going to be discussed in the corresponding programming assignments. The problem with the splay trees is probably characteristic. Overall, well done! Many thanks for the quality of the course you provide! Keep up the good work!
von Sylvain L•
A really great course that deliver exactly its promises : a college-grade algorithmic course.
If you are looking to know all about classical data structures (arrays, lists, trees, heaps, ...) used in every program, this is the course for you. And if you are not interested in those topics ... well, you should !
Or course, this is a challenging course by it abstract nature. But with some work, the support of the instructors and of your peers, you will overcome the difficulties. After that with your newly gained knowledge, you will be able to choose the right data structure for your needs or implement it efficiently in the language of your choice.
Worth mentioning the course is language-agnostic -- and the assignment may be submitted in C, C++, Java or Python.
von Pablo E M M•
this is my second course that I have taken. I learned many things this course is more difficult than algorithmic toolbox but when you work hard you can finish all units
in the beginning i thought that i would not be able to continue because i dont have a lot of knowledge in c+, java or python, but i decided to learn c+ sonce the first course. these coursed were very difficult but i could finish then and this is all because of the professors whom were excellent and the challenging homework.
Thanks to everyone that has dedicated there time and resources to mke this wonderful course, I appreciate it a lot
I really enjoyed learning stacks, queues, hash, heap, trees etc in this course. the videos and slides are very practical and informative with large no. of figures which really helped me in understanding how a particular algorithm is working and how it is efficient. every quiz contains very good conceptual questions related to a particular topic. some of them are tricky . each question has its own flavor and it really helped me to clear my doubts. Completing an assignment is really a challenge and i felt good each time when i passed a particular assignment.
Really good course to understand implementation details and analysis of the most used data structures, both basic and advanced. The explanations are awesome accompanied by challenging problems to solidify your knowledge. I'd definitely recommend this course to anybody who's looking to improve their problem-solving skills, getting ready for coding interview or just want clear explanations of some of the core data structures concepts in computer science. I really enjoyed this course, thank you everybody for putting it all together!
von Gaurav V•
I thought having done Algorithmic Design with much difficulty Data Structures would be a bit easier. To my surprise this one proved to be a tough one.
But having gone through the grind, I feel happy and satisfied to have done this course and feel enthusiastic about pursuing the specialization further. This is far more effective way of learning and understand the concepts covered than going through books and/or videos alone.
The assignments are the real things in these courses. That's where the real learning happens.
von Souvik R•
This course gives you real world examples of the data structures that you are going to learn and implement and and this really helps in answering the basic question "Why am I doing for what am I doing?". The programming questions are challenging and solving it actually helps you understand every aspect of the data structure that you are applying to the question.
Overall this course has improved my understanding of data structures and also where to apply it.Wonderful work by the instructors!
von Dennis S•
Recently the instructors updated the course and implemented a solution to all my past complains.
In my opinion the team is really taking the quality serious.
However I just want to mention, that there are regular session for each course so that everybody can avoid having two overlapping courses in this specialization at the same time.
I did not know that and worked on two courses at the same time, until the instructor informed me about the short interval between sessions of a given course.
von Ananth D•
This course covers all possible data structures, what was need of those data structures, how could they be implemented and what is time complexity of such implementation. Also, the programming assignment problems were very challenging, some even taking 2 to 3 days of time to solve. I wish after the course is completed Professors could provide solutions to all problems, since it is difficult to find answers to every assignment problem.
von Taranpreet s•
All topics are explained with clarity, provides more conceptual depth than the first one. Quizes are useless, as you will pass them by hit and trail in 2-3 attempts. Programming assignments are where the actual learning happens. . One minor change that can be helpful is giving fractional score. For instance if you are not able to pass some problem due to memory constraints, some score should be given so that one can move forward.
von Ivan K•
Thanks for the great course! Giving it a five stars. Although, the programming assignment for the last week could be better. Instead of implementing the same in-order tree-traversing three times with minor variations (first time as requested, second time to test if a given tree is a BST, and a "hard BST" variance), would be better to include tasks on implementing balancing and splaying a tree.
von Akash P•
The course is detailed, challenging and practical. Unlike a lot of other MOOCs which dilute the rigor of the course way below university standards, this course has coding assignments, which if done honestly, will definitely help anyone REALLY understand the intricacies behind all the data structures and algorithms that we are taught. I recommend this course to a lot of my friends too!
von HERNANDEZ B M I•
Excellent course, I learnt a lot.
The programming assignments are really challenging, so assume the course to take way longer than the estimated amount.
If you still decide to go through with it, the lectures are great, and the subjects are really interesting.
I'm amazed at the solutions past programmers have found to such complex problems as the ones presented throughout the course.
von Aleksandr F•
Great course! As soon as you'll understand how the splay tree works and use a hint from the assignment, the rope problem (the best so far) will no longer be a problem. The course could have been improved though by giving a brief overview of B-trees and Red-Black trees. Anyways, thanks to all the instructors for their hard work and good luck to the all the learners!
von Phat L•
This course helps me fully understand how hash is implemented in most programming languages. How to build something like dropbox.... The Rope data structure is the most challenge I've met for a long time. Many thanks to creators help me get a chance to understand Rope data structure, then I can understand what Xi- text editor platform that Google is writing about.
von Dheepak J•
A) An eye opener course in my regards which is really well curated and organized.
B) I had gone had to learn a good deal of knowledge and software wisdom from this course that I highly RECOMMEND this to others.
C) Enroll into it and try to finish the assignments on time and I am sure you will end up seeing the results yourself...
" Well Done San Diego team"
von Imaani E•
Great course - the homework problems were really helpful for cementing concepts. However, I did feel that the difficulty of the homework problems did not increase with the progress of the course. I think that it would have been very reasonable to increase the difficulty of the homework assignments as the course progressed. Otherwise, great overall course.
von Subhaprada C•
I think this is one of the best courses out there in terms of the rigour as well as the quality of the content. The instructors take great care to actually explain how the data structures work internally, complete with mathematical proofs wherever necessary. The assignments are also very good and help to solidify the understanding of the concepts.