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.
- Implement Graphs in Java from scratch.
- Analyze the performance of different implementations of Graphs.
- Work with Java's built-in classes for fundamental data structures including: HashSet, HashMap, and PriorityQueue.
- Design classes to solve a high-level process, including fields, methods, and inheritance relationships.
- Describe and implement several algorithms for graph search.
- Evaluate the performance of different graph search algorithms in different contexts.
- Use graphs and graph algorithms to plan routes using real data.
Final Project: