Advanced Data Structures in Java

This Specialization covers intermediate topics in software development. You'll learn object-oriented programming principles that will allow you to use Java to its full potential, and you'll implement data structures and algorithms for organizing large amounts of data in a way that is both efficient and easy to work with. You'll also practice critically evaluating your own code, and you'll build technical communication skills that will help you prepare for job interviews and collaborative work as a software engineer. In the final Capstone Project, you'll apply your skills to analyze data collec

Created by: Leo Porter

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100

icon
Course Description

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners?To solve such problems, we first represent the key pieces of data in a complex data structure. In this course, you'll learn about data structures, like graphs, that are fundamental for working with structured real world data. You will develop, implement, and analyze algorithms for working with this data to solve real world problems. In addition, as the programs you develop in this course become more complex, we'll examine what makes for good code and class hierarchy design so that you can not only write correct code, but also share it with other people and maintain it in the future.The backbone project in this course will be a route planning application. You will apply the concepts from each Module directly to building an application that allows an autonomous agent (or a human driver!) to navigate its environment. And as usual we have our different video series to help tie the content back to its importance in the real world and to provide tiered levels of support to meet your personal needs.

icon
Instructor Details

placeholder

Dr. Porter is an Assistant Teaching Professor in the Computer Science and Engineering Department at the University of California, San Diego. Professor Porter earned his undergraduate degree in computer science from the University of San Diego (2000), and his Masters and Ph.D in computer science from UC San Diego (2006 and 2011, respectively). He was an Assistant Professor at Skidmore College for three years, prior to joining the faculty at UC San Diego in 2014. Advised by Professor Dean Tullsen, his Ph.D. is in Computer Architecture (high-level processor design) where he focused on improving single-thread performance in the Multi-Core era. Although still active in computer architecture, he is now primarily focused on computer science education research where his emphasis is on identifying core course concepts which are essential to student success, developing pedagogies which facilitate student engagement with those concepts, and creating assessment instruments to evaluate the effectiveness of those pedagogical practices. His research, funded by several National Science Foundation grants, has earned the Best Student Paper award at the International Conference on High Performance Computer Architecture (HPCA) in 2011, the Best Paper Award at the Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium in 2013, and the Chair's Award at the International Computing Education Research Conference (ICER) in 2014. He also earned the Skidmore College President'

icon
More data structures and algorithms courses

Python Data Structures

Free

Operations Analytics

Free

Data Structures and Performance

Free

Algorithms for DNA Sequencing

Free

Excel/VBA for Creative Problem Solving, Part 2

Free

Master the Coding Interview: Data Structures + Algorithms

$11.99

icon
Reviews

4.7

228 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By RUHAN K on 26-Dec-17

As usual, I really love this specialization, but I didn’t rate 5 stars, I feel like the videos are fewer to help go through the project. I was stuck in week 4 and it is really really challenging, but I do enjoy the process to figure out all the details and think it over and over again. Thanks UCSD professors ;)

By Kamran on 11-Jun-18

Beautiful course. I only disliked not being explained anything regarding the GUI used and how everything was created. But in terms of algorithms and advanced data structures, it was lovely. I highly enjoyed learning about graphs, traversing algorithms, complexity theory and the like.

By prince on 2-May-17

Very well structured course.

By Ravi P on 11-Dec-16

The projects are fun, but the course is too short and abbreviated.

By Harsh S on 26-Nov-17

It was very interesting to learn in-depth graph data structure in Java. Access to the interactive JavaFX application is a bonus.

By Luis M M C on 30-May-16

I give really high marks for this course as the graphs are presented in a proper and practical manner. I have a suggestion to present the High Level of Graphs more in the area of Information theory. Otherwise it is nice approach and very good implementation of the material and exams.

By Syed H A on 6-Nov-16

Overall, I enjoyed this course. Especially from week 1 to 3 where the course contents were simply amazing.It would be great if week 4 and 5 can engage the students like week 1 to 3, and the forum can be more alive.Thank you.

By Venkata R T K on 7-Sep-16

Nice course!

By Oleh L on 20-Jan-17

UCSD always bring there A game, with fun projects and extensions to real world problems. I have completed all three courses.This course was especially informative as it dipped into the graph theory and the optimization problems we face. The course itself is fun and informative and may seem tough at times but is really rewarding once complete. Thanks guys and girls.

By Sylvain on 19-Dec-16

nice course. very well organised and presented. good refresher of ADS in Java

By Patrick B on 28-Jan-16

This was a very useful course which covered the main fundamental aspects of graphs in Java. The assignments were very interesting and challenging as well. The lecture videos provided all the information in a very detailed manner. There was nothing more I could ask for. Overall it was a great experience!!

By Dan S on 11-Apr-17

Good introduction to Data Structures with Java examples