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

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

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

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

Data Structures and Performance

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

О курсе

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java). In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables. You will explain how these data structures make programs more efficient and flexible. You will apply asymptotic Big-O analysis to describe the performance of algorithms and evaluate which strategy to use for efficient data retrieval, addition of new data, deletion of elements, and/or memory usage. The program you will build throughout this course allows its user to manage, manipulate and reason about large sets of textual data. This is an intermediate Java course, and we will build on your prior knowledge. This course is designed around the same video series as in our first course in this specialization, including explanations of core content, learner videos, student and engineer testimonials, and support videos -- to better allow you to choose your own path through the course!

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

Data StructuresJava ProgrammingUnit TestingAlgorithmsJavaPerformance TuningSoftware TestingTheoretical Computer ScienceObject Oriented Programming (OOP)Program DevelopmentPerformance Testing

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

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

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

About This Course

Course TitleВидеоA Customized Welcome to this CourseЧтениеWelcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)ВидеоWelcome (Object Oriented Programming in Java Specialization)Видео

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

Christine Alvarado

Associate Teaching Professor

Mia Minnes

Assistant Teaching Professor

Leo Porter

Professor

Data Structures and Performance
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 41.6 ч

6 модулей

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

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

Часть программы вашего университета
After completing this course, you will be able to...Чтение
Is this course right for me?Чтение
Pre-Course QuizЗадание
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 the courseВидео
Concept ChallengesВидео
In the Real World: Welcome from Google EngineersВидео
Project OverviewЧтение
Project PrototypeВидео

Check Your Understanding

Setting up Java and EclipseЧтениеGetting and Working with the Starter CodeЧтениеQuiz about the Starter Code and Course StructureЗадание
02Working with Strings26 материалов

Welcome

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

Working with Strings in Java

Core: Introduction to the Flesch Readability ScoreВидеоCore: Basics of Strings in JavaВидеоCore: Working with Strings in JavaВидеоWhere to next?ЗаданиеSupport: For-Each Loops, part 1 of 5ВидеоSupport: For-Each Loops, part 2 of 5ВидеоSupport: For-Each Loops, part 3 of 5ВидеоSupport: For-Each Loops, part 4 of 5ВидеоSupport: For-Each Loops, part 5 of 5ВидеоCore: Introduction to Regular ExpressionsВидеоWhen I struggled: Regular expressionsВидеоConcept Challenge: Regular ExpressionsВидеоSupport: More with Regular ExpressionsВидеоStrings and Regular ExpressionsЗаданиеDid you have trouble with any question(s) on the practice quiz?ЧтениеWhat questions do you have about Strings and Regular Expressions?Обсуждение

Check Your Understanding

Week 2: Additional ResourcesЧтениеProject: Programming Assignment Walk ThroughВидеоHow Easy to Read is Your Writing?ПрограммированиеProgramming Assignment FAQЧтениеModule and Programming Assignment QuizЗаданиеWeek 2: Congratulations and quiz answersЧтение
03Efficiency Analysis and Benchmarking33 материалов

Welcome

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

Measuring Performance: Big O

Core: Our Motivation for Asymptotic AnalysisВидеоCore: Counting OperationsВидеоCore: Introduction to Asymptotic Analysis, Part 1ВидеоCore: Introduction to Asymptotic Analysis, Part 2ВидеоCore: Computing Big O with Consecutive OperationsВидеоCore: Computing Big O with Nested OperationsВидеоWhere to next?ЗаданиеPractice QuizЗаданиеConcept Challenge: Classifying Functions using Big OВидеоSupport: Analyzing Selection SortВидеоConcept Challenge: Estimating Big O from CodeВидеоCore: Worst, Best, and Average CasesВидеоIn the Real World: Worst Case AnalysisВидеоCore: Analyzing Search AlgorithmsВидеоCore: Analyzing Sorting AlgorithmsВидеоWhen I struggled: Algorithm performanceВидеоCore: Merge SortВидеоCore: A Summary of SortingВидеоCore: Common Pitfalls in Asymptotic AnalysisВидеоAsymptotic Notation and AnalysisЗадание

Measuring Performance: Benchmarking

Core: Introduction to BenchmarkingВидеоCore: Using Java TimeВидеоCore: Analyzing TimingsВидеоConcept Challenge: Relating Timing Data to Algorithm AnalysisВидео

Check Your Understanding

Week 3: Additional ResourcesЧтениеProject: Week 3 Project Walk ThroughВидеоMaking Flesch Score Calculation More EfficientПрограммированиеModule and After Programming Assignment QuizЗаданиеWeek 3: Congratulations and quiz answersЧтение
04Interfaces, Linked Lists vs. Arrays, and Correctness34 материалов

Welcome

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

Abstraction, Interfaces, and Linked Lists

Core: Introduction to AbstractionВидеоIn the Real World: Data AbstractionВидеоCore: Linked Lists vs. ArraysВидеоIn the Real World: Lists vs. ArraysВидеоCore: Generics and ExceptionsВидеоCore: Java Code for a Linked ListВидеоConcept Challenge: Implementing linked lists, a first attemptВидеоConcept Challenge: Drawing Linked Lists, second attemptВидеоSupport: Adding to a Linked ListВидеоWhen I struggled: Data structuresВидео

Testing and Correctness

Core: Testing and ConfidenceВидеоIn the Real World: How can the compiler help with testing?ВидеоCore: Testing PracticesВидеоWhere to next?ЗаданиеIn the Real World: How do you test the behavior of code?ВидеоSupport: JUnit in EclipseВидео

Check Your Understanding Part 1

Week 4: Additional ResourcesЧтениеProject: Linked List Assignment Walk ThroughВидеоImplement and Test a Linked ListПрограммированиеWhen I struggled: confidence in codeВидео

Markov Processes and Probabilities

Where to next?ЗаданиеCore: Markov Text GenerationВидеоCore: Implementing Markov Text GenerationВидео

Check Your Understanding Part 2

Optional Project: Markov Text Generation Walk ThroughВидео(Optional) Markov Text GenerationПрограммированиеWeek 4 Reflective Programming Assignment QuizЗаданиеWeek 4: CongratulationsЧтение
05Trees! (including Binary Search Trees and Tries)28 материалов

Welcome

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

Trees

Core: TreesВидеоIn the Real World: TreesВидеоCore: Defining TreesВидеоCore: Binary TreesВидеоCore: Pre-Order TraversalsВидеоWhere to next?ЗаданиеCore: Post-Order, In-Order, and Level-Order Traversals (Breadth-first search)ВидеоWhen I struggled: Why traverse a tree?ВидеоCore: Introduction to Binary Search TreesВидеоCore: Searching in a BSTВидеоSupport: Code for BST's "Find" MethodВидеоCore: Inserting into a BSTВидеоSupport: Code for BST's "Insert" MethodВидеоCore: Deleting from a BSTВидеоConcept Challenge: BST ShapeВидео

Run Time Analysis of BSTs

Core: Performance of BSTs and Balancing, Part 1ВидеоCore: Performance of BSTs and Balancing, Part 2Видео

Tries

Core: Introduction to TriesВидеоCore: Performance of TriesВидеоCore: Implementing a TrieВидео

Check Your Understanding

Week 5: Additional ResourcesЧтениеProject: Week 5 Project Walk ThroughВидеоSpell Checking and AutocompleteПрограммированиеWeek 5 Content and Programming Assignment QuizЗаданиеWeek 5: Congratulations and quiz answersЧтение
06Hash Maps and Edit Distance20 материалов

Welcome

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

Hash Maps (or Tables)

Core: Hash TablesВидеоCore: Collisions in Hash TablesВидеоWhen I Struggled: Hash TablesВидеоCore: Applications of Hash TablesВидеоSupport: Modular ArithmeticВидеоConcept Challenge: Hash TablesВидео

Edit Distance

Core: OverviewВидеоCore: AlgorithmВидеоCore: Edit DistanceВидео

Check Your Understanding

Week 6: Additional ResourcesЧтениеProject: Spelling Suggestions Walk ThroughВидеоSpelling SuggestionsПрограммированиеProject: Word Path Walk ThroughВидеоWord Paths (Optional but Recommended)ПрограммированиеWeek 6: Programming Assignment and Content QuizЗадание

End of Course Message

Core: Congratulations!Видео
In the Real World: Unit TestingВидео
Core: Testing Linked List's "Get" MethodВидео
Concept Challenge: Which Tests Should You Run?Видео
In the Real World: Test-driven developmentВидео
Week 6: Congratulations and quiz answersЧтение