Awesome course! Professor Roughgarden is fantastic. The material was appropriately challenging. Perfect amount of rigor. Only one minor squabble: the hash problem set is terribly misleading.
The course was very interesting. As a person who struggles with problem-solving, I found this course very helpful because the professor's ideas are well explained. It makes me to learn more.
von Yisheng Y•
von Ahmad e D•
von Jingyuan W•
von Sergey T•
This course was useful to me, thanks. As usual, I liked lectures and programming assignments provided, except for week 4.
I didn't like week 4 materials. It was a huge disappointment to me when the theory about hashing appeared to be too 'theoretical' with absolutely no code at all. It's just some high concept maths and nothing more. It is a real disaster if you are a 'doer' because you'll probably get almost nothing from 4th-week lectures and will be ought to learn about hashing somewhere else. This comes to a question of whether you need to learn hash tables here (and pay your money) or not. So if you have never encountered hash tables in your life, you might want to learn it before you take this course. In that case, consider it as a requirement for your enrollment.
von Christopher E•
The only reason this is not a 5-star review is because of the Week 4 programming assignment. The point of Week 4 is to demonstrate the usefulness of using a hash table when frequent look-ups are necessary. However, the constants inherent to the assignment problem make the suggested algorithm take anywhere from 30 min to hours. Meanwhile, there is another algorithm that can accomplish the task in mere seconds, but this is not apparent without scouring the message boards for help. I feel it would be better to either rethink the assignment to bring it more in line with the point of the teaching material, or deliver some instruction on the actually useful algorithm, which is fascinating in its own right.
Otherwise, this course is excellent as usual.
von Gonzalo G A E•
In general, the specialization is great (it's challenging, full of interesting material, and the Prof. is interesting yet light to watch for hours in video). However, two of the programming exercises in this course seemed required solutions that were not related to the covered topics and for which the week's material provided sub-optimal (hence ultra slow) solutions. That was a bit frustrating. Nonetheless, it forced me to explore more about the algorithms, data structures and other solutions.
Still a great and challenging course!
Algorithms part of the course was phenomenal as always. But the Data Structure side of the course was (a bit of shuffling around the point?) little less engaging. I realize that DS is as important as Algorithms but is certainly not as fun to teach as Algorithms. Maybe the assignments and Quizzes could be restructured to make DS lessons more engaging. Just my 2 cents, otherwise Prof. Tim was cool as always!
von Ahmad B E•
Great course for computer scientists. It is easy to understand but it takes too much time to be completed. The video lectures were long and full of too much explanation. And the week 4 programming assignment took very long running time to complete using the algorithm specified in the course but less time using other algorithms.
von Li-Pu C•
I would say it would be a little bit too hard for people that do not major in computer science, and programmed less before.
Even though the professor gives the lecture well, but the input size of the text file is often too large. I think it'd be better to provide the assignment easier.
von Bianca D•
Great course; especially on Data Structures and when certain ones are appropriate. I do wish the final exam solutions would be posted after completing the exam successfully in the same way the problem set solutions, hints and comments are provided.
von Jingxuan W•
the later graph algorithms are implemented rather cursory. It is quite hard for us to implement it at home using a "big idea" as given in the video. I wish the instructor could give us some intuitions of how Java, C++, or Python handle the case.
von Nikola G•
Great course but needs restructuring. The videos of how an algorithm works come after extensive discussion on what its action's running times are. If this were flipped and we learned how it works before running times it would be more intuitive.
von Marcus H•
Great course! The programming assignment for Week 4 was a bit demoralizing, though. I am very certain I had the right answer, but had to implement another solution that did not involve Hash Tables in order for it to process in < 24 hours.
von Georgios K•
Great course, the first exercise was a little bit hard but the material is useful, if you read the relevant book then the course is even easier.
Last I want to mention that writing the code in Python makes the course easier.
von Sai R•
The material was a little light and far fewer video quiz questions to test our understanding of the material. I also tried to test myself on BFS and DFS by doing online quizzes like geeksforgeeks - bombed really hard.
von L H•
There is very little hand-holding in this course and no code provided. This really challenges you to implement the ideas taught in the most efficient and appropriate manner possible.
von Garrett M•
assignments didn't seem as interesting or complex as class 1, besides week 1 of class 2. Lecture material was high quality however, and the advanced optional material is appreciated
von Songmao L•
Hope the professor could teach more about hashing and give a detailed implementation of some data structures or supply some interface template code.
von Hao W•
The first programming assignment is most challenging, while the rest are easier. I expect the assignments are designed in a more consistent way.
von Joseph B•
This course was much harder than the first one. Plan to spend extra time doing the assignments. However, it is totally worth it!
von PLN R•
Great course! Best one for refreshing concepts! Can act as a starting point too! Absolutely love the explanation.
von Marko D•
Great coverage of graphs and basic implementations. Wish hash implementation was discussed in more details.
von Manu A•
more examples of hashing algorithms could have been introduced (like consistent hashing, Murmur hash etc.)