Advanced Data Structures in Java
- Offered byCoursera
Advanced Data Structures in Java at Coursera Overview
Duration | 29 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Advanced Data Structures in Java at Coursera Highlights
- Shareable Certificate Earn a Certificate upon completion
- 100% online Start instantly and learn at your own schedule.
- Course 3 of 5 in the Object Oriented Java Programming: Data Structures and Beyond Specialization
- Flexible deadlines Reset deadlines in accordance to your schedule.
- Intermediate Level
- Approx. 29 hours to complete
- English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Advanced Data Structures in Java at Coursera Course details
- 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.
Advanced Data Structures in Java at Coursera Curriculum
Introduction to the Course
Welcome
Your path through this course
Concept challenges
Project Prototype
After completing this course, you will be able to ...
Is this course right for me?
Up Next: A short survey
If you want more practice before you begin...
The structure of this course
Welcome from the Google engineers
Project Overview
Setting up Java and Eclipse
Getting and Setting up the Starter Code
Project: Orientation to the Starter Code, Data Files and Front-end
Pre-course quiz
Survey: Your goals for the course
Course Structure and Starter Code Quiz (make sure you can run the starter code first)
Introduction to Graphs
Introduction
Project: Introduction to Graphs Project Overview
Core: What's a graph?
Core: Graph definitions
In the real world: Graphs at Google
In the real world: More graphs at Google
Core: Implementing graphs in Java
Core: Adjacency matrix
Core: Adjacency list
Concept Challenge: Comparing implementations of graphs
In the real world: Performance considerations
When I struggled: Analyzing implementations
Core: Neighbors
Support: Coding getNeighbors
Support: Coding 2-Hop Neighbors
Support: Multiplying Adjacency Matrices
Project: Programming Assignment Walkthrough
A note about week numbers
By the end of this week, you will be able to...
(Read only AFTER finishing Graphs Quiz)
Graph definitions and implementation: a glossary
Week 2: Additional Resources
Programming Assignment FAQ
Graph definitions and implementations Quiz Answer explanations (Read ONLY after you pass the quiz)
Graphs
Where to next?
Graph definitions and implementation
Class design and simple graph search
Introduction
Project: Route Finding Project Overview
Core: Intro to Class Design
When I struggled: Building useful classes
In the Real World: Design patterns
Core: DFS, Part 1
Core: DFS, Part 2
Core: BFS
Support: Developing Small Examples to Test Your Code
When I struggled: Data structures jargon
When I struggled: The right data structure for the job
Concept Challenge: Performance of DFS and BFS
Core: Class Design
When I struggled: If you fail to plan ...
When I struggled: ... but don't forget to start!
In the real world: Planning ahead with design
Core: Refactoring
Support: Where to start the project design?
In the Real World: Why is code refactored?
Project: Programming Assignment Walk-through
By the end of this week, you will be able to ...
Week 3: Additional Resources
End of Week Quiz Answers
Where to next?
End of Week Quiz (complete project and peer review first)
Finding shortest paths in weighted graphs
Introduction
Project: Shortest Path Overview
Core: Shortest Path with BFS
Core: Geographic Maps
Core: Dijkstra's Algorithm
Concept Challenge: Performance of Dijkstra's Algorithm
Core: A* Search Algorithm
When I struggled: Tackling large programming projects
When I Struggled: Remembering classical algorithms
Project: Shortest Path Programming Assignment Walkthrough
By the end of this week, you will be able to ...
Week 4: Additional Resources
Test cases and debugging guide for the quiz
End of Week Quiz Answers
End of Week Quiz (very short, do programming assignment first)
Route planning and NP-hard graph problems
Introduction
Core: Traveling Salesperson Problem (TSP)
Concept Challenge: An algorithm for TSP
Core: TSP Brute-Force Algorithm
Core: TSP Algorithm Running Time
Core: NP Hard
Core: Approximations and Heuristics
Core: Hamiltonian Graphs
Core: Eulerian graphs
Core: Eulerian graphs, an algorithm
Core: An application in bioinformatics
By the end of this week, you will be able to ...
Week 5: Additional Resources
End of Week Quiz Answers
End of Week Quiz
End of Course Project Extension
End of course message
Week 6 Introduction
Project: Week 6 Description -- REQUIRED EXTENSION
Week 6 Project Quiz (Complete your project extension first)