Chevron Left
Back to Data Structures

Learner Reviews & Feedback for Data Structures by University of California San Diego

4.6
stars
5,489 ratings

About the Course

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this online course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it. You will also learn typical use cases for these data structures. A few examples of questions that we are going to cover in this class are the following: 1. What is a good strategy of resizing a dynamic array? 2. How priority queues are implemented in C++, Java, and Python? 3. How to implement a hash table so that the amortized running time of all operations is O(1) on average? 4. What are good strategies to keep a binary tree balanced? You will also learn how services like Dropbox manage to upload some large files instantly and to save a lot of storage space!...

Top reviews

DG

May 23, 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!

PS

Jul 9, 2020

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.

Filter by:

676 - 700 of 927 Reviews for Data Structures

By Laura

Nov 9, 2020

This course was well planned and the lectures were very good. I feel like I learned a lot from the course. Most of the programming assignments were good and helpful for learning, but I found 1 of the hash table assignments and 2 of the binary search trees assignments to be very difficult and time consuming. I would prefer the assignments to be doable in a reasonable amount of time. Maybe the really difficult assignments could be marked as optional. I also think the time estimates for doing the assignments are way too low.

By Aman A

Apr 10, 2020

A great interest generating course that gives us both an insight as well as an opportunity to explore the vast field of algorithms and data structures. I recommend to anyone that wants to start in this field as well as to those that are well-versed in this field as it will definitely teach you something new (if not new than a different perspective to looking at the same problem will definitely be provided) :).

Kudos, cheers and all the luck to my fellow learners, our teachers and to the students yet to undertake this course,

By Miguel R

Sep 2, 2016

Excellent course in general, and I learned a lot of new data structures that one doesn't generally learn about in standard algorithms and data structures courses, like disjoint sets and splay trees.

Only complaint is that sometimes the problems are too complicated for how easy they are. By this I mean that the problem statement is very long and elaborate, when what they are really asking is something trivial that can be programmed in a few lines, but it takes a while to understand just what they are asking.

By Lee Z Y

Sep 15, 2017

Great course! I figured disjoint sets was pretty interesting - the rest of the material I get by with no issues, but boy: the BST advanced assignments (splay trees) in week 6 is by far the hardest assignments I tried in both Algorithmic Toolbox and Data Structures. It's a pretty big jump in difficulty (I don't think they explained splay trees in the lectures very well; it was pretty fast), but I was so ecstatic when I solved it that I didn't mind.

By Lingjian K

Jan 17, 2017

This course is very hard for non-STEM major student, even non CS-major student. Some concepts are very abstract to explain. The course team generally did a good job at explaining concept, but it would be better if they can offer more examples, animations, illustrations, sample code and explanations, etc. to help students understand these concepts. A rewarding course overall. Best if you are going to have a code interview.

By Rafael M

Aug 4, 2017

This course was considerably harder than the first one. Content is top quality but slides lack detail and lectures some times don't do a good job explaining things well enough given the difficulty of some of the things they ask in the exercises. Still, I learned a lot of programming doing the exercises and I would still recommend it. If you're new to algorithms you will have to supplement using online resources + books.

By Umer M

Aug 31, 2016

The last two weeks felt rushed. The Binary Search Tree/AVL Tree module doesn't have a quiz or an assignment and it's easy to move on without fully understanding both data structures. This allows for wasting time on the last assignment which relies on understanding AVL trees. I recommend reading the external resources for each lesson and making sure you have a grasp of the data structure before moving to the next module.

By sujith

Jul 10, 2018

This is a great course which gives you the basic understanding required in handling data structures along with some state of the art techniques and applications for those structures. Had a little difficulty in following binary search trees because of the pace of the course and lacking detailed explanation at places. But overall it is a really good course to get up to speed on some of the most used Data Structures.

By Supun D K

Jun 21, 2020

The course is overall really good. I learned a lot about data structures and got experience applying them for various problems. The majority of the lecturers were also good and they explained the topics in a clear and precise manner. However, the lecturer for week 5 and week 6 didn't explain the topics that he covered very clearly in my opinion. Overall I had a really good experience during the course.

By Peter C

Sep 1, 2017

Really good course. I learned a lot and enjoyed the instruction style as well as the way the exercises and assignments were graded.

I would've given the course 5 stars were it not for the final assignment which was made very difficult not so much by the content but by the code sample we were meant to extend... It was full of global state and mutation, very hard to follow and frustrating to work with.

By Omar M

Sep 8, 2021

I have rated four stars for the course to be easily understandable for the basics, however it doesn't help much if you want to get into an advanced level, the instructors keep passing the advanced topics and cramming it after just giving a general idea.. In general, the course is good but the programming assignments are badly explained, if you get the explanation of the assignment it can be done

By Shaikh S A S

May 8, 2017

This is a very good course. The only thing I had problems with was the way the tests were set up - they were giving me no information about why my code was failing. I understand the reasoning behind not releasing test cases in failing tests, but like me - a lot of people keep submitting and failing, and in the end getting discouraged . Suggesting modification of test case outputs in the future.

By Christopher R

Jul 27, 2017

I loved that I had a lot of really tough but relevant problems to code and solve. I only wish the presenters were more visual. With so many splitting, inserting, merging and deleting, I was hoping for some animation on the slides in the video rather than the presenters simply waving their hands. The books for supplemental reading were really helpful along with watching the videos. a few times

By Mohammed M F

Nov 9, 2021

the content was pretty awesome, good point for you. I'm just willing the presenters will be more active with us dealing with more dynamic tools and not only keeping it up with the slides alone. I think it would be outstanding if we wrote code for the algorithm and implemented it with a few test cases as well. but overall it was really nice experience, thanks for your efforts.

By Ehsan C (

Dec 23, 2022

It was a very useful and informative course. The sessions were taught in a concise but at the same time useful and practical way. In my opinion, the opportunity to solve the exercises is very limited for a person who can spend 3-4 times a week (2-3 hours each time) for the course, and the deadlines for solving the exercises and quizzes should be increased.

By mugnaio

Nov 8, 2016

First weeks are awesome, it is a great course if you want understand very well some structures like heaps or union/find. I just think the last week is too fast and concise, I would like some additional work about trees and for many users could be a problem, otherwise will be a 5 stars without any doubt, though for me this course worked very well.

By Luis M V F

Feb 18, 2020

This course is challenging, and it is very informative. It would be great if it has smaller problems in which one can implement the data structures discussed in the lectures. In general the course is well explained, but the guy who explains about hash tables needs to provide further explanations or resources.

By Martin T

Jan 10, 2017

The quality of the course is very high. However I give a slightly lower rating than for the Class 1 from the specialization. The assignments seemed little unbalanced this time - some were very easy while other were very hard (I passed one after loading a special package to manipulate data or recursion limit).

By Lewis B

Dec 3, 2019

Some of the exercise files were too time consuming to debug. In general, I would also prefer more rigour in the mathematics, but I am a maths student so probably have a less than common view on this matter. Overall though, this is a very good course, I found myself enjoying hashing and trees units the most.

By Abhinav A

Sep 27, 2023

All the data structures and algorithms involved in them were taught very well. I found the weeks involving AVL trees (particularly the rotation part) and splay trees kind of difficult to understand as the rotation for balancing the tree wasn't explained very well. Rest all was top notch.

By MARCELLO M

Jul 9, 2020

While the learning material is excellent, on par on that of course 1, I think that coding assignments are really tough, maybe too much so. Even the very first assignment of every week, usually at warm-up level- has been very complicated. Something more gradual would have been nice.

By Moaaz

Jul 15, 2019

The course is well structured and smooth. The content is rich and really covers the important stuff in data structures.

However, still, the problems come from the interface and the grading system, please Coursera you can do better than this in the discussion forum and the grader.

By David F

Feb 20, 2017

Another good course, though the last two weeks were a lot harder to follow than the prior ones. Not because the material was that much harder, but the lectures and homeworks were less clear (a lot of descriptions of how to do various operations without explaining why).

By Orkun M

May 12, 2021

I liked the course overall. It helped me a lot, and I saw the positive effects in a short period of time. But please change the hashmap course with something else. It was pain to watch since the instructor just read some theoretical stuff from the slides. Thanks.

By Chirantan S

Jun 14, 2019

This course is very good for those who are trying to learn Data structure. well you have to have some basic knowledge of the programming languages like python, c++, java for the programming assignments.

Very good course for intermediate level. Thank you so much!