About this Course
24,158 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 20 hours to complete

Suggested: 5 weeks of study, 1-3 hours/week...

English

Subtitles: English

Skills you will gain

GraphsSearch AlgorithmGraph AlgorithmsGraph Data Structures
Learners taking this Course are
  • Software Engineers
  • Real Estate Brokers
  • Machine Learning Engineers
  • Data Scientists
  • Data Engineers

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 20 hours to complete

Suggested: 5 weeks of study, 1-3 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
2 hours to complete

Introduction to the Course

4 videos (Total 17 min), 10 readings, 3 quizzes
4 videos
Your path through this course5m
Concept challenges3m
Project Prototype5m
10 readings
After completing this course, you will be able to ...5m
Is this course right for me?10m
Up Next: A short survey
If you want more practice before you begin...2m
The structure of this course2m
Welcome from the Google engineers3m
Project Overview10m
Setting up Java and Eclipse10m
Getting and Setting up the Starter Code10m
Project: Orientation to the Starter Code, Data Files and Front-end10m
3 practice exercises
Pre-course quiz20m
Survey: Your goals for the course8m
Course Structure and Starter Code Quiz (make sure you can run the starter code first)12m
Week
2
5 hours to complete

Introduction to Graphs

17 videos (Total 92 min), 7 readings, 4 quizzes
17 videos
Project: Introduction to Graphs Project Overview3m
Core: What's a graph?8m
Core: Graph definitions4m
In the real world: Graphs at Google2m
In the real world: More graphs at Google55s
Core: Implementing graphs in Java3m
Core: Adjacency matrix12m
Core: Adjacency list7m
Concept Challenge: Comparing implementations of graphs3m
In the real world: Performance considerations2m
When I struggled: Analyzing implementations47s
Core: Neighbors5m
Support: Coding getNeighbors7m
Support: Coding 2-Hop Neighbors7m
Support: Multiplying Adjacency Matrices4m
Project: Programming Assignment Walkthrough15m
7 readings
A note about week numbers10m
By the end of this week, you will be able to...5m
(Read only AFTER finishing Graphs Quiz)10m
Graph definitions and implementation: a glossary10m
Week 2: Additional Resources2m
Programming Assignment FAQ10m
Graph definitions and implementations Quiz Answer explanations (Read ONLY after you pass the quiz)10m
3 practice exercises
Graphs5m
Where to next?2m
Graph definitions and implementation20m
Week
3
8 hours to complete

Class design and simple graph search

20 videos (Total 100 min), 3 readings, 4 quizzes
20 videos
Project: Route Finding Project Overview4m
Core: Intro to Class Design4m
When I struggled: Building useful classes1m
In the Real World: Design patterns1m
Core: DFS, Part 16m
Core: DFS, Part 24m
Core: BFS6m
Support: Developing Small Examples to Test Your Code6m
When I struggled: Data structures jargon1m
When I struggled: The right data structure for the job1m
Concept Challenge: Performance of DFS and BFS5m
Core: Class Design8m
When I struggled: If you fail to plan ...1m
When I struggled: ... but don't forget to start!1m
In the real world: Planning ahead with design4m
Core: Refactoring12m
Support: Where to start the project design?10m
In the Real World: Why is code refactored?2m
Project: Programming Assignment Walk-through14m
3 readings
By the end of this week, you will be able to ...5m
Week 3: Additional Resources1m
End of Week Quiz Answers10m
2 practice exercises
Where to next?2m
End of Week Quiz (complete project and peer review first)20m
Week
4
6 hours to complete

Finding shortest paths in weighted graphs

10 videos (Total 43 min), 4 readings, 2 quizzes
10 videos
Project: Shortest Path Overview2m
Core: Shortest Path with BFS3m
Core: Geographic Maps4m
Core: Dijkstra's Algorithm8m
Concept Challenge: Performance of Dijkstra's Algorithm8m
Core: A* Search Algorithm5m
When I struggled: Tackling large programming projects1m
When I Struggled: Remembering classical algorithms31s
Project: Shortest Path Programming Assignment Walkthrough8m
4 readings
By the end of this week, you will be able to ...5m
Week 4: Additional Resources1m
Test cases and debugging guide for the quiz30m
End of Week Quiz Answers10m
1 practice exercise
End of Week Quiz (very short, do programming assignment first)10m
4.8
243 ReviewsChevron Right

42%

started a new career after completing these courses

32%

got a tangible career benefit from this course

Top reviews from Advanced Data Structures in Java

By DBOct 13th 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 SUJun 8th 2017

Fantastic course! I would recommend to anyone interested in learning the graph data structure in a fun and hands-on and engaging way! Definitely one of the best courses I have followed on Coursera.

Instructors

Avatar

Leo Porter

Associate Teaching Professor
Computer Science and Engineering
Avatar

Mia Minnes

Assistant Teaching Professor
Computer Science and Engineering
Avatar

Christine Alvarado

Associate Teaching Professor
Computer Science and Engineering

About University of California San Diego

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory....

About the Object Oriented Java Programming: Data Structures and Beyond Specialization

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 collected from a real-world (social) network. Google has contributed real-world projects and the involvement of its engineers as guest lecturers to these courses. A small, select group of top learners who complete the Specialization will be offered practice interviews with Google recruiters. Invitation to a practice interview does not guarantee an actual interview or employment....
Object Oriented Java Programming: Data Structures and Beyond

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.