YoVDO

Parallel and Concurrent Programming with Java 2

Offered By: LinkedIn Learning

Tags

Java Courses Merge Sort Courses Parallel Programming Courses Concurrent Programming Courses Matrix Multiplication Courses

Course Description

Overview

Take a deeper dive into the key mechanisms for writing concurrent and parallel programs. Discover how to parallelize a sequential program.

Syllabus

Introduction
  • Learn parallel programming basics
  • What you should know
  • Exercise files
1. Synchronization
  • Condition variable
  • Condition variable: Java demo
  • Producer–consumer
  • Producer–consumer: Java demo
  • Semaphore
  • Semaphore: Java demo
2. Barriers
  • Race condition
  • Race condition: Java demo
  • Barrier
  • Barrier: Java demo
  • CountDownLatch: Java demo
3. Asynchronous Tasks
  • Computational graph
  • Thread pool
  • Thread pool: Java demo
  • Future
  • Future: Java demo
  • Divide and conquer
  • Divide and conquer: Java demo
4. Evaluating Parallel Performance
  • Speedup, latency, and throughput
  • Amdahl's law
  • Measure speedup
  • Measure speedup: Java demo
5. Designing Parallel Programs
  • Partitioning
  • Communication
  • Agglomeration
  • Mapping
6. Challenge Problems
  • Welcome to the challenges
  • Challenge: Matrix multiply in Java
  • Solution: Matrix multiply in Java
  • Challenge: Merge sort in Java
  • Solution: Merge sort in Java
  • Challenge: Download images in Java
  • Solution: Download images in Java
Conclusion
  • Next steps
  • Additional resources

Taught by

Olivia Chiu Stone and Barron Stone

Related Courses

Programming 102: Think Like a Computer Scientist
Raspberry Pi Foundation via FutureLearn
Using Effcient Sorting Algorithms in Java to Arrange Tax Data
Coursera Project Network via Coursera
Using Efficient Sorting Algorithms in Java to Arrange Tax Data
Coursera Project Network via Coursera
Merge, Sort and Filter Data in Python Pandas
Coursera Project Network via Coursera
Parallel programming (Scala 2 version)
École Polytechnique Fédérale de Lausanne via Coursera