К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Advanced Data Structures in Java · LearnSpace
Назад в каталог
courseraПрограммирование

Advanced Data Structures in Java

Курс от University of California San Diego
Средний≈ 29.7 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

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.

Навыки, которые вы освоите

Graph TheoryJavaData StructuresJava ProgrammingObject Oriented DesignAlgorithmsSoftware DesignNetwork RoutingApplication DesignCode ReusabilityObject Oriented Programming (OOP)Theoretical Computer ScienceApplication Development

Программа курса

6 модулей · 109 учебных материалов

01Introduction to the Course18 материалов

About This Course

WelcomeВидеоAfter completing this course, you will be able to ...ЧтениеIs this course right for me?ЧтениеPre-course quizЗадание

Учитесь у экспертов

Leo Porter

Professor

Mia Minnes

Assistant Teaching Professor

Christine Alvarado

Associate Teaching Professor

Advanced Data Structures in Java
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 29.7 ч

6 модулей

Язык: Английский

Субтитры: Арабский, Французский, Бенгальский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Пушту, Урду, Русский, Тайский, Индонезийский, Шведский, Турецкий, Азербайджанский, Испанский, Дари, Хинди, Японский, Казахский, Венгерский, Польский

Часть программы вашего университета
Up Next: A short surveyЧтение
Survey: Your goals for the courseЗадание
If you want more practice before you begin...Чтение
The structure of this courseЧтение
Your path through this courseВидео
Concept challengesВидео
Welcome from the Google engineersЧтение
Introduce Yourself!Обсуждение
Project OverviewЧтение
Project PrototypeВидео

Check Your Understanding

Setting up Java and EclipseЧтениеGetting and Setting up the Starter CodeЧтениеProject: Orientation to the Starter Code, Data Files and Front-endЧтениеCourse Structure and Starter Code Quiz (make sure you can run the starter code first)Задание
02Introduction to Graphs28 материалов

Welcome

IntroductionВидеоA note about week numbersЧтениеBy the end of this week, you will be able to...ЧтениеProject: Introduction to Graphs Project OverviewВидео

Introduction to Graphs

Core: What's a graph?ВидеоCore: Graph definitionsВидеоIn the real world: Graphs at GoogleВидеоIn the real world: More graphs at GoogleВидеоGraphsЗадание(Read only AFTER finishing Graphs Quiz)ЧтениеCore: Implementing graphs in JavaВидеоCore: Adjacency matrixВидеоCore: Adjacency listВидеоWhere to next?Задание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ВидеоGraph definitions and implementation: a glossaryЧтение

Check Your Understanding

Week 2: Additional ResourcesЧтениеProject: Programming Assignment WalkthroughВидеоProject: Implementing GraphsПрограммированиеProgramming Assignment FAQЧтениеGraph definitions and implementationЗаданиеGraph definitions and implementations Quiz Answer explanations (Read ONLY after you pass the quiz)Чтение
03Class design and simple graph search27 материалов

Welcome

IntroductionВидеоBy the end of this week, you will be able to ...ЧтениеProject: Route Finding Project OverviewВидео

Basic Graph Search

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ВидеоWhere to next?ЗаданиеWhen I struggled: Data structures jargonВидеоWhen I struggled: The right data structure for the jobВидеоConcept Challenge: Performance of DFS and BFSВидео

From Problem Specification to Class Design

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?Видео

Check Your Understanding

Week 3: Additional ResourcesЧтениеProject: Programming Assignment Walk-throughВидеоProject: Class Design and Graph SearchПрограммированиеCode Design Peer ReviewВзаимная проверкаEnd of Week Quiz (complete project and peer review first)ЗаданиеEnd of Week Quiz AnswersЧтение
04Finding shortest paths in weighted graphs16 материалов

Introduction

IntroductionВидеоBy the end of this week, you will be able to ...ЧтениеProject: Shortest Path OverviewВидео

Shortest Path Algorithms

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Видео

Check Your Understanding

Week 4: Additional ResourcesЧтениеProject: Shortest Path Programming Assignment WalkthroughВидеоProject: Shortest PathПрограммированиеTest cases and debugging guide for the quizЧтениеEnd of Week Quiz (very short, do programming assignment first)ЗаданиеEnd of Week Quiz AnswersЧтение
05Route planning and NP-hard graph problems15 материалов

Introduction

IntroductionВидеоBy the end of this week, you will be able to ...Чтение

The Traveling Salesperson Problem (TSP)

Core: Traveling Salesperson Problem (TSP)ВидеоConcept Challenge: An algorithm for TSPВидеоCore: TSP Brute-Force AlgorithmВидеоCore: TSP Algorithm Running TimeВидео

Solving TSP using Heuristics

Core: NP HardВидеоCore: Approximations and HeuristicsВидео

Other hard (and not so hard) graph problems

Core: Hamiltonian GraphsВидеоCore: Eulerian graphsВидеоCore: Eulerian graphs, an algorithmВидеоCore: An application in bioinformaticsВидео

Checking Your Understanding

Week 5: Additional ResourcesЧтениеEnd of Week QuizЗаданиеEnd of Week Quiz AnswersЧтение
06End of Course Project Extension5 материалов

Project Extension

Week 6 IntroductionЧтениеProject: Week 6 Description -- REQUIRED EXTENSIONЧтениеWeek 6 Project Quiz (Complete your project extension first)ЗаданиеProject Extension FeedbackВзаимная проверка

Congratulations!

End of course messageВидео
In the Real World: Why is code refactored?Видео