May 24, 2016
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!
Apr 06, 2018
Data Structures was really interesting over all, also assignments are quite challenging. It's important to consult the external references & discussion forums if you want to get the best of it.
Apr 14, 2017
Algorithms in lectures were useless to programming assignment
por Marcin W•
Apr 15, 2016
The fact that test cases are not available is extremely frustrating and time consuming. I absolutely disagree with the instructors about the reason why test cases are hidden.
Learning new complex things is time consuming, it is essential, and it is ok. Without this time spent you wouldn't have learned even half of what you've learned while trying to find your mistakes yourself. Also, the testing techniques presented here are indispensable in the real life, and many learners of the Algorithmic Toolbox course have already confirmed this
Hello Mr. Levin,
First please forgive me for communicating with you in this place. I am not sure if there is a direct way to answer you, but I believe you will have access to my response.
I entirely agree with what you said that this needs time and I do not mind spending time learning new things. That is why I am here in the first place. But I think that hiding the test sets misplaces the balance where this time is being spend.
Let me give you an example: week 3 – hash chains - assignment no. 2. I wrote the app, submitted this and it failed on test no. 5. Having generated tons of test cases I was nowhere closer as all looked good, but still failed your engine. As it turned out the problem was not with the algorithm implemented but with the presentation layer. ‘Check x’ command when x is not found in the hash table should return blank line and my program returned nothing. I could not find this in the specification hence lots of hours trying to figure out the solution.
It was not a bug with the program, it was the problem how the data is presented. I do not mind spending time developing solutions to the assignments. I would love if there were more advanced (even optional) problems to solve but I want to spend this time on the algorithm and solving the task rather than trying to figure out how to display the data.
Please, do not get me wrong, I absolutely adore the course, lectures are brilliant and my opinion should be regarded as a constructive criticism even if you do not agree with me. Thank you again for what you are doing.
Sep 08, 2016
I liked this course alot.
If you are a student and come from the previous course, you may only read the cons, since this course has the same spirit as the previous.
1. The lectures contain quite a good material which is somehow difficult and they made me to pay attention. The lectures are based on dasgupta's book and MIT course book.
2. There are links to additional materials, I found the dijkstra's book and MIT course book, so I was able to gain extra information for topics which interested me.
Also slides are very useful
3. The forum! This course has a life forum where you can find help or share your ideas.
4. The teaching stuff! They are answering student questions and taking part in discussions
Having compared this course with the previous one from the set, this course suffers from luck of interesting problems. The previous course has more than ~25 problems and for each module it has advanced problems,even more they added extra problems during the course running.
This course has ~12 problems and only one advanced for the whole course!. Only this advanced problem made me take a piece of paper and a pen and draw trees, and play with toy examples. Only for this problem I wrote a stress test. That is the most fun for me of studying!
If this course didn't have this advanced problem, I would barely give it 3 stars.
Theaching stuff, please conider to add extra problems, the first course is awesome and it is way too good. This course is good, but it think you may develop it not only the first one. Otherwise students may get dissapointed if they come from the previous course.
I hoped that you would have added extra problems, so I slowed down, my expectation didnt come true :(
por Greg G•
Jun 09, 2019
Great continuation of the Algorithmic toolbox course. There's a lot of new, interesting material here. The videos are very good, the slides are of high quality, and you will also find some good references to online university materials and interactive visualizations.
The homeworks are challenging but enjoyable, and you will also find some really challenging optional assignments here.
The only downside of the course is that unless your friends are computer scientists, you're going to lose them if you talk too much to them about AVL trees, distributed hash tables and splay trees! ☺
Even some programmers/coders scoff at these things, but as a programmer I'm certain that you will become a better at your job if you learn these.
Can't wait to start the next course in the specialization!
por Sharanya G•
Oct 28, 2019
I found the course a little tough, but it's worth the effort. It takes more time than mentioned. Apart from that, it is actually good and covers most of the topics required for interviews.
por Adel F•
Dec 11, 2018
Lots of fun problems to solve. To get the most of this course, solve every single problem. Good content, not enough sample problem on tree.
por Viswanath B•
Dec 27, 2019
Good explanation and problems to practice. Assignments will drive you to complete them, rather than just theory.
por Cameron H•
Mar 11, 2019
Excellent course. Great coverage of data structures. Good practice questions and explanatory videos.
por Dhiraj K P•
Mar 02, 2019
Good Course for Knowledge
por Hakim T•
Mar 01, 2019
por Буров А•
Jul 04, 2019
The lecturer Daniel Kane does not explain things clearly. I constantly had to switch to other material listed in references to understand what he was talking about. I know that usually lectures are supposed to give you only general understanding of the problem and you still have to read additional material, but with Daniel Kane it is practically useless to watch lectures. I am sorry if I offend him, but lectures were a real problem for me so I think I have to speak out.
Another issue with this course was poor design of home assignments. For example, after a huge Week 5 where we cover: search trees, binary search trees, AVL trees and all operations on these trees - there was no home assignment! Why? In consequent Week 6 we cover Splay trees and get 5 problems as home assignment. The first three problems have practically the same solution, you only need a few adjustments and these problems are on binary search tree properties (not AVL or any in particular). Then, there are remaining two problems that only cover Splay trees (as far as I understand). Such assignment design makes it hard to sort out the topic (at least for me). Moreover, the rest two problems are huge and as the result you cannot check only a fraction of your alogrithm instead you have to check it entirely. And since these problems are not necessary to complete it is really hard to motivate yourself to keep trying to submit them considering that it may take hours to find a bug in a huge (comparing to other assignments) chunk of code.
Overall, I find this course very useful, but comparing to Algorithm Toolbox the self-study section really suffered and two MAJOR topics were given to one not so good (in my opinion) lecturer. As the result I struggled not because of the course complexity, but because of inconviniences.
And also grading system acts strangely. In python3 graders don't usually accept recursion because of RecursionDepthLimit error, however, all stress tests on my computer were completed successfully, but I still had to rewrite everything in loops. I guess it is usefull to know how to implement an algorithm both in loops and recursion, but I'd prefer if they specified the appropriate method for the problem beforehand.
por Сергей С•
Mar 02, 2019
It was difficult in using of pseudocode in my code
por Nikhil P•
Jan 28, 2020
The overall course was good. The instructor Daniel Kane, is the worst part of this course. He was rushing the whole time and wasn't explaining properly. No proper examples, no pseudocode, It was really annoying to complete all his lectures. In the end, I had to drop his lectures and find another source to study splay trees(which just kills the motive of taking this course) and solve the questions. Extremely unsatisfied and annoyed from the last part of this course. All the other parts were really great and all deserve a 5-star rating.
por Sumit K•
Sep 07, 2019
Should explain more and the content became boring sometime.
por Madhumala J•
Oct 12, 2019
Needs more description & more practise problem
por Nakul C•
Jan 07, 2020
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.
por Rishabh G•
Dec 26, 2019
literally pathetic studied waste of money charged even canceled subscription. Please refund my One-month extra charge.
por Zsolt S•
Jul 25, 2016
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.
por James B•
Sep 17, 2016
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.
por Sergey L•
May 14, 2016
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!
por Theodore G•
Nov 06, 2016
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!
por Sylvain L•
Apr 10, 2016
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.
por Pablo E M M•
Sep 07, 2017
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
Dec 14, 2018
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.
May 07, 2018
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!