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

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

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

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

Parallel Programming in Java

Курс от Rice University
Средний≈ 19.4 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism. Why take this course? • All computers are multicore computers, so it is important for you to learn how to extend your knowledge of sequential Java programming to multicore parallelism. • Java 7 and Java 8 have introduced new frameworks for parallelism (ForkJoin, Stream) that have significantly changed the paradigms for parallel programming since the early days of Java. • Each of the four modules in the course includes an assigned mini-project that will provide you with the necessary hands-on experience to use the concepts learned in the course on your own, after the course ends. • During the course, you will have online access to the instructor and the mentors to get individualized answers to your questions posted on forums. The desired learning outcomes of this course are as follows: • Theory of parallelism: computation graphs, work, span, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism • Task parallelism using Java’s ForkJoin framework • Functional parallelism using Java’s Future and Stream frameworks • Loop-level parallelism with extensions for barriers and iteration grouping (chunking) • Dataflow parallelism using the Phaser framework and data-driven tasks Mastery of these concepts will enable you to immediately apply them in the context of multicore Java programs, and will also provide the foundation for mastering other parallel programming systems that you may encounter in the future (e.g., C++11, OpenMP, .Net Task Parallel Library).

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

Java ProgrammingJavaDataflowFunctional DesignPerformance TuningApplication FrameworksAlgorithmsProgramming PrinciplesDistributed ComputingScalability

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

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

01Welcome to the Course!8 материалов

About the Course

Course WelcomeВидеоGeneral Course InfoЧтениеCourse Icon LegendЧтениеDiscussion Forum GuidelinesЧтение

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

Vivek Sarkar

Professor

Parallel Programming in Java
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 19.4 ч

7 модулей

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

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

Часть программы вашего университета
Get to know your classmates!Обсуждение
Pre-Course SurveyЧтение

Optional: Mini Project

Mini Project 0: SetupЧтениеMini Project 0 SubmissionПрограммирование
02Task Parallelism15 материалов

Course Content

1.1 Task Creation and Termination (Async, Finish)Видео1.1 Lecture SummaryЧтение1.2 Tasks in Java's Fork/Join FrameworkВидео1.2 Lecture SummaryЧтение1.3 Computation Graphs, Work, SpanВидео1.3 Lecture SummaryЧтение1.4 Multiprocessor Scheduling, Parallel SpeedupВидео1.4 Lecture SummaryЧтение1.5 Amdahl's LawВидео1.5 Lecture SummaryЧтение

Demonstration Videos

ReciprocalArraySum using Async-Finish (Demo)ВидеоReciprocalArraySum using RecursiveAction's in Java's Fork/Join Framework (Demo)Видео

Mini Project

Mini Project 1: Reciprocal-Array-Sum using the Java Fork/Join FrameworkЧтениеMini Project 1 SubmissionПрограммирование

Quiz

Module 1 QuizЗадание
03Functional Parallelism15 материалов

Course Content

2.1 Futures: Tasks with Return ValuesВидео2.1 Lecture SummaryЧтение2.2 Futures in Java's Fork/Join FrameworkВидео2.2 Lecture SummaryЧтение2.3 MemoizationВидео2.3 Lecture SummaryЧтение2.4 Java StreamsВидео2.4 Lecture SummaryЧтение2.5 Data Races and DeterminismВидео2.5 Lecture SummaryЧтение

Demonstration Videos

ReciprocalArraySum using RecursiveTask's in Java's Fork/Join Framework (Demo)ВидеоParallel List Processing Using Java Streams (Demo)Видео

Mini Project

Mini Project 2: Analyzing Student Statistics Using Java Parallel StreamsЧтениеMini Project 2 SubmissionПрограммирование

Quiz

Module 2 QuizЗадание
04Talking to Two Sigma: Using it in the Field3 материалов

Talking to Two Sigma: Using it in the Field

About these TalksЧтениеIndustry Professional on Parallel, Concurrent, and Distributed Programming in Java - Jim Ward, Managing DirectorВидеоIndustry Professionals on Parallelism - Jake Kornblau and Margaret Kelley, Software EngineersВидео
05Loop Parallelism15 материалов

Course Content

3.1 Parallel LoopsВидео3.1 Lecture SummaryЧтение3.2 Parallel Matrix MultiplicationВидео3.2 Lecture SummaryЧтение3.3 Barriers in Parallel LoopsВидео3.3 Lecture SummaryЧтение3.4 Parallel One-Dimensional Iterative AveragingВидео3.4 Lecture SummaryЧтение3.5 Iteration Grouping/Chunking in Parallel LoopsВидео3.5 Lecture SummaryЧтение

Demonstration Videos

Parallel Matrix Multiplication (Demo)ВидеоParallel One-Dimensional Iterative Averaging (Demo)Видео

Mini Project

Mini Project 3: Parallelizing Matrix-Matrix Multiply Using Loop ParallelismЧтениеMini Project 3 SubmissionПрограммирование

Quiz

Module 3 QuizЗадание
06Data flow Synchronization and Pipelining16 материалов

Course Content

4.1 Split-phase Barriers with Java PhasersВидео4.1 Lecture SummaryЧтение4.2 Point-to-Point Sychronization with PhasersВидео4.2 Lecture SummaryЧтение4.3 One-Dimensional Iterative Averaging with PhasersВидео4.3 Lecture SummaryЧтение4.4 Pipeline ParallelismВидео4.4 Lecture SummaryЧтение4.5 Data Flow ParallelismВидео4.5 Lecture SummaryЧтение

Demonstration Videos

Phaser ExamplesВидеоPipeline & Data Flow ParallelismВидео

Mini Project

Mini Project 4: Using Phasers to Optimize Data-Parallel ApplicationsЧтениеMini Project 4 SubmissionПрограммирование

Quiz

Module 4 QuizЗаданиеExit SurveyЧтение
07Continue Your Journey with the Specialization "Parallel, Concurrent, and Distributed Programming in Java"3 материалов

Industry Professionals on Concurrent and Distributed Programming

Our Other Course OfferingsЧтениеIndustry Professional on Concurrency - Dr. Shams Imam, Software Engineer, Two SigmaВидеоIndustry Professional on Distribution - Dr. Eric Allen, Senior Vice President, Two SigmaВидео