Parallel programming

  • 4.4
Approx. 33 hours to complete

Course Summary

Learn parallel programming in Scala and gain the skills to make your applications faster and more responsive.

Key Learning Points

  • Understand the basics of parallel programming in Scala
  • Learn techniques for solving common parallel programming challenges
  • Gain hands-on experience with parallel collections, actors, and futures

Job Positions & Salaries of people who have taken this course might have

    • USA: $110,000
    • India: ₹12,00,000
    • Spain: €40,000
    • USA: $110,000
    • India: ₹12,00,000
    • Spain: €40,000

    • USA: $130,000
    • India: ₹15,00,000
    • Spain: €50,000
    • USA: $110,000
    • India: ₹12,00,000
    • Spain: €40,000

    • USA: $130,000
    • India: ₹15,00,000
    • Spain: €50,000

    • USA: $150,000
    • India: ₹18,00,000
    • Spain: €60,000

Related Topics for further study


Learning Outcomes

  • Ability to write parallel programs in Scala
  • Understanding of common parallel programming challenges and techniques to solve them
  • Experience with parallel collections, actors, and futures

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of Scala programming
  • Familiarity with functional programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video lectures
  • Hands-on exercises

Similar Courses

  • Functional Programming Principles in Scala
  • Big Data Analysis with Scala and Spark

Related Education Paths


Related Books

Description

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering.

Outline

  • Parallel Programming
  • Course Overview
  • Introduction to Parallel Computing
  • Parallelism on the JVM I
  • Parallelism on the JVM II
  • Running Computations in Parallel
  • Monte Carlo Method to Estimate Pi
  • First-Class Tasks
  • How Fast are Parallel Programs?
  • Benchmarking Parallel Programs
  • Working on Assignments
  • Tools Setup (Please read)
  • SBT tutorial and Submission of Assignments (Please read)
  • Cheat Sheet
  • Scala Style Guide
  • Basic Task Parallel Algorithms
  • Parallel Sorting
  • Data Operations and Parallel Mapping
  • Parallel Fold (Reduce) Operation
  • Associativity I
  • Associativity II
  • Parallel Scan (Prefix Sum) Operation
  • Data-Parallelism
  • Data-Parallel Programming
  • Data-Parallel Operations I
  • Data-Parallel Operations II
  • Scala Parallel Collections
  • Splitters and Combiners
  • Data Structures for Parallel Computing
  • Implementing Combiners
  • Parallel Two-phase Construction
  • Conc-tree Data Structure
  • Amortized, Constant-time Append Operation
  • Conc-Tree Combiners

Summary of User Reviews

Learn Scala Parallel Programming on Coursera. Read reviews by students who have taken this course. Find out what they think about the course and its overall quality.

Key Aspect Users Liked About This Course

One key aspect that many users thought was good is the in-depth coverage of the Scala programming language.

Pros from User Reviews

  • The course content is comprehensive and covers a wide range of topics.
  • The instructor is knowledgeable and provides clear explanations.
  • The assignments and quizzes are challenging and help reinforce the concepts learned.
  • The course is well-structured and easy to follow.
  • The course provides practical examples and real-world applications of the concepts learned.

Cons from User Reviews

  • The course can be quite challenging for beginners and requires prior programming experience.
  • Some users have reported technical issues with the programming assignments.
  • The course may not be suitable for those looking for a quick introduction to Scala.
  • The course may require a significant time commitment to complete.
  • Some users have found the course material to be outdated or not up-to-date with the latest versions of Scala.
English
Available now
Approx. 33 hours to complete
Prof. Viktor Kuncak, Dr. Aleksandar Prokopec
École Polytechnique Fédérale de Lausanne
Coursera

Instructor

Prof. Viktor Kuncak

  • 4.4 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses