Chevron Left
Back to Data Structures and Performance

Data Structures and Performance, University of California San Diego

4.8
1,481 ratings
319 reviews

About this Course

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java). In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables. You will explain how these data structures make programs more efficient and flexible. You will apply asymptotic Big-O analysis to describe the performance of algorithms and evaluate which strategy to use for efficient data retrieval, addition of new data, deletion of elements, and/or memory usage. The program you will build throughout this course allows its user to manage, manipulate and reason about large sets of textual data. This is an intermediate Java course, and we will build on your prior knowledge. This course is designed around the same video series as in our first course in this specialization, including explanations of core content, learner videos, student and engineer testimonials, and support videos -- to better allow you to choose your own path through the course!...

Top reviews

By DB

Oct 13, 2017

Great into to Java, instructors have clearly put thought in to the format with the choose your own learning style videos, and additional coverage where it may be needed. These have been very helpful.

By SS

Dec 19, 2015

The course curriculum is well designed and teaches students the basic data structures needed to be a successful software engineer. The project is good, and the weekly assignments are challenging.

Filter by:

308 Reviews

By Benjamin Tracey

Feb 13, 2019

Great course

By Krishna Addepalli

Feb 01, 2019

The idea of applying linkedlists, hashmaps, trees to solve a commonly occurring problem of Word suggestions is cool. It allows the students appreciate the practical context in which these algorithms are useful. The assignments can be made a bit harder to make the learning that much more worthwhile.

By Yazan Alnisr

Feb 01, 2019

I really enjoyed this course thanks to the great teachers and the awesome project, it really was cool working with you all and I'm very excited to see you again in the next course of this specialization.

By YinpuLi

Jan 24, 2019

The course is intro-level and well-organized. Perfect for new Julia users. However, it will be better if updated to Julia v 1.0+.

By RIDDHI GUPTA

Jan 06, 2019

Superb course! Covered most of the topics in a very fluid manner. Could not stop once started the course.

By Jade Feldhousen

Jan 05, 2019

I am very happy that this course is part of the Object Oriented Java Specialization - the one which has 2 courses from Duke and 2 courses from UCSD. If you are reading this, it goes without saying that you are interested in learning more about Java and getting certification - this course will do that but begin to blend in a lot more topics that are specific to Computer Science - topics like algorithm efficiency for sorting and finding data.

This shift towards Computer Science theory, as opposed to practical Java programming, may surprise you. This can be challenging material - but in the context of the course, you can evaluate how you feel about it without committing too much - since it's the final course in the specialization.

Regardless of your receptiveness to theory, the content is highly relevant in practice, just be warned that you may not breeze through this course. It will definitely be worth it though, as knowledge of these topics are what's expected of people with a Computer Science background in the field today.

By Johnny Esperat

Jan 05, 2019

Super great course! I would recommend this to any developer.

By Andrew Ellison

Jan 01, 2019

Very good and ordered exploration of using a variety of datastructures in the most efficient way possible. Good for anyone who wants to know more about Strings in Java specifically.

By mengya wang

Dec 28, 2018

Many thanks to all the people who created this course! I really learned a lot about data structure (LinkedList, tree, etc) and I am feeling much more confidence in programming after taking this course.

Although some of the assignments were difficult for me (I stucked a lot), but I am really happy and proud when I got full score from the grader :) Really recommend if you have programming experience but new to data structure!!

By Noah Douglas Garner

Dec 24, 2018

Loved it