Coursera
Coursera Logo

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 External Link Icon

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
Read more
Details Icon

Advanced Data Structures in Java
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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.
Read more

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)

Advanced Data Structures in Java
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Advanced Data Structures in Java
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...