Best Distributed Computing Courses

Find the best online Distributed Computing Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings. We also have a separate page listing only the Free Distributed Computing Courses.

Distributed Systems & Cloud Computing with Java

Learn Distributed Java Applications at Scale, Parallel Programming, Distributed Computing & Cloud Software Architecture

Created by Michael Pogrebinsky | Java Expert & Software Architecture Specialist - Professional Software Engineer| SW Architect | Instructor


Students: 10649, Price: $129.99

Students: 10649, Price:  Paid

Have you always wanted to build software that reaches millions of users and impact people's lives?

Have you been wondering how modern companies

  • Handle massive amount of internet traffic and transactions?

  • Securely store billions of our photos, videos and other data?

  • Provide impeccable user experience and high performance 24/7 all around the globe?

Then you are in the perfect place!

In this course you will:

  • Master the theory of Distributed Systems, Distributed Computing and modern Software Architecture

  • Gain the practical skills necessary to build Distributed Applications and Parallel Algorithms, focusing on Java based technologies

  • Deploy groups of distributed Java applications on the Cloud

  • Scale Distributed Databases to store petabytes of data

  • Build Highly Scalable and Fault Tolerant Distributed Systems

Along the way you will learn modern technologies like:

  • Apache Kafka

  • Apache Zookeeper

  • MongoDB

  • HAProxy

  • Google Cloud Platform

  • JSON

  • Java HTTP Server and Client

  • Protocol Buffers

  • Google Cloud Platform

  • And many others

So what are you waiting for?

Join us today on this incredible journey!

Scientific Computing Masterclass: Parallel and Distributed

Parallel & Distributed Programming: OpenMP, CUDA, MPI & HPC cluster systems with Slurm and PBS, AWS HPC Parallel Cluster

Created by Scientific Programmer™ Team - | Instructor Team


Students: 1440, Price: $19.99

Students: 1440, Price:  Paid

Welcome to the First-ever High Performance Computing (HPC) Systems course on the Udemy platform.  The goal main of this course is to introduce you with the HPC systems and its software stack. This course has been specially designed to enable you to utilize parallel & distributed programming  and computing resources to accelerate the solution of a  complex problem with the help of HPC systems and Supercomputers.  You can then use your knowledge in Machine learning, Deep learning, Data Sciences, Big data and so on.

HPC clusters typically have a large number of computers  (often called ‘nodes’) and, in general, most of these nodes would be configured identically. Though from the out side the cluster may look like a single system, the internal workings to make this happen can be quite complex. This idea should not be confused with a more general client-server model of computing as the idea behind clusters is quite unique. Cluster computing utilize multiple machines to provide a more powerful computing environment perhaps through a single operating system.


  • A Little bit of Supercomputing history, Supercomputing examples, Supercomputers vs. HPC clusters, HPC clusters computers, Benefits of using cluster computing.

  • Components of a High Performance Systems (HPC) cluster, Properties of Login  node(s), Compute node(s), Master node(s), Storage node(s), HPC networks  and so on.

  • Introduction to PBS, PBS basic commands, PBS `qsub`,  PBS `qstat`, PBS `qdel`  command,  PBS `qalter`, PBS job states, PBS variables,     PBS  interactive jobs, PBS arrays, PBS MATLAB example

  • Introduction to Slurm, Slurm commands, A simple Slurm job, Slurm distrbuted MPI and  GPU jobs, Slurm multi-threaded OpenMP jobs,     Slurm interactive jobs,  Slurm array jobs, Slurm job dependencies

  • OpenMP basics, Open MP - clauses,  worksharing constructs, OpenMP- Hello  world!,  reduction and parallel `for-loop`,  section parallelization,  vector addition,

  • MPI - hello world! send/ receive and `ping-pong`

  • Parallel programming - GPU and CUDA: Finally,  it gives you a concise beginner friendly guide to the GPUs - graphics  processing units, GPU Programming - CUDA, CUDA - hello world and so on! We understand that CUDA is a difficult API, particularly the memory models. We have added some easy to understand CUDA lessons with examples to make your life easy and comfortable to grasp the basics fast!

  • AWS HPC: With the recent advantage of the faster Cloud technologies, AWS provides the most elastic and scalable cloud infrastructure to run your HPC applications. With virtually unlimited capacity, engineers, researchers, and HPC system owners can innovate beyond the limitations of on-premises HPC infrastructure. We have added lectures to show and tell you on how to build a AWS HPC cluster and how to run codes -easily!

Based on your earlier feedback, we are introducing a Zoom live class lecture series on this course through which we will explain different aspects of the Parallel and distributed computing and the High Performance Computing (HPC) systems software stack: Slurm, PBS Pro, OpenMP, MPI and CUDA! Live classes will be delivered through the Scientific Programming School, which is an interactive and advanced e-learning platform for learning scientific coding. Students purchasing this course will receive free access to the interactive version (with Scientific code playgrounds) of this course from the Scientific Programming School (SCIENTIFIC PROGRAMMING IO). Instructions to join are given in the additional contents section.


We created here a total of one university semester worth of knowledge (valued USD $2500-6000) into one single video course, and hence, it's a high-level overview.  Don't forget to join our Q&A live community where you can get free help anytime from other students and the instructor. This awesome course is a component of the Learn Scientific Computing master course.

Real World Vagrant For Distributed Computing

Build a Distributed Cluster of Virtual Machnes with a single command! Ready for BigData, NoSQL or IMDB installation.

Created by Toyin Akin - Big Data Engineer, Capital Markets FinTech Developer


Students: 1070, Price: $89.99

Students: 1070, Price:  Paid

"NoSQL", "Big Data", "DevOps" and "In Memory Database" technology are a hot and highly valuable skill to have – and this course will teach you how to quickly create a distributed environment for you to deploy these technologies on. 

A combination of VirtualBox and Vagrant will transform your desktop machine into a virtual cluster. However this needs to be configured correctly. Simply enabling multinode within Vagrant is not good enough. It needs to be tuned. Developers and Operators within large enterprises, including investment banks, all use Vagrant to simulate Production environments. 

After all, if you are developing against or operating a distributed environment, it needs to be tested. Tested in terms of code deployed and the deployment code itself.

You'll learn the same techniques these enterprise guys use on your own Microsoft Windows computer/laptop.

Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

This course will use VirtualBox to carve out your virtual environment. However the same skills learned with Vagrant can be used to provision virtual machines on VMware, AWS, or any other provider.

If you are a developer, this course will help you will isolate dependencies and their configuration within a single disposable, consistent environment, without sacrificing any of the tools you are used to working with (editors, browsers, debuggers, etc.). Once you or someone else creates a single Vagrantfile, you just need to vagrant up and everything is installed and configured for you to work. Other members of your team create their development environments from the same configuration. Say goodbye to "works on my machine" bugs.

If you are an operations engineer, this course will help you build a disposable environment and consistent workflow for developing and testing infrastructure management scripts. You can quickly test your deployment scripts and more using local virtualization such as VirtualBox or VMware. (VirtualBox for this course). Ditch your custom scripts to recycle EC2 instances, stop juggling SSH prompts to various machines, and start using Vagrant to bring sanity to your life.

If you are a designer, this course will help you with distributed installation of software in order for you to focus on doing what you do best: design. Once a developer configures Vagrant, you do not need to worry about how to get that software running ever again. No more bothering other developers to help you fix your environment so you can test designs. Just check out the code, vagrant up, and start designing.

UDP Socket Programming For Distributed Computing in C#.Net

Socket programming, make chat application in C# .Net, distributed applications & network programming for IoT/VoIP

Created by Naeem Akram - Test Engineer Sr.


Students: 810, Price: $19.99

Students: 810, Price:  Paid

This course teaches C# .Net socket programming with UDP sockets in a hands on and easy fashion. It is a carefully planned and crafted online course which takes the student by the hand and teaches them how to create production quality distributed network applications using C# .Net step by step.

The first sections of this course cover the basics of computer networking, and UDP socket programming in CSharp dot Net necessary for network and socket programming.

Next two sections will teach how to send and receive UDP broadcast in a command prompt C# .Net application using synchronous sockets with method calls such as Socket.Send and Socket.Receive. You will also learn how to convert between string and byte data types.

Once you're familiar with how distributed network applications function, the course takes you towards asynchronous socket programming. You will also learn about callbacks methods and how you can implement callbacks in C# .Net. I will also show you the publisher subscriber model AKA pub/sub model. We will implement pub/sub model in our library project and the client/server applications using the library as well. We'll create event handlers, delegates, and raise events as well.

We are going to use an Object Oriented approach for this course following the principles of OOP. In next section we're going to implement a publisher/subscriber model in C# .Net to bridge the gap between the API solution classes and the WinForms based front end.

Next, you will learn what is JSON (JavaScript Object Notation) and how you can add JSON functionality to your C# applications with Newtonsoft JSON.Net. We'll start implementing an application level communication protocol in this section.

In the next section, you'll learn how to transmit binary data over a UDP socket in C# .Net. As an example, I'm going to show you how to transfer png image files between multiple clients of your applications through the server. The JSON based protocol implemented in previous section is going to play a key role here.

After watching this C sharp tutorial course, you'll be able to write your own distributed applications that communicate through the network, either WiFi or Ethernet. You will have the foundation knowledge needed to create C# .Net based applications for IoT, computer telephony, VoIP, online gaming(e.g. Unity), and much more.

This course also shows you how to use String Interpolation which is a C# 6 feature. You'll also learn how to debug network applications in Visual Studio and how to write code faster.

You don't need to learn C to work on this course.

Socket Java, python socket udp

Apache Spark SQL – Bigdata In-Memory Analytics Master Course

Master in-memory distributed computing with Apache Spark SQL. Leverage the power of Dataframe and Dataset Real life demo

Created by MUTHUKUMAR Subramanian - Best Selling Instructor, Big Data, Spark, Cloud, Java, AWS


Students: 607, Price: $94.99

Students: 607, Price:  Paid

This course is designed for professionals from zero experience to already skilled professionals to enhance their Spark SQL Skills. Hands on session covers on end to end setup of Spark Cluster in AWS and in local systems. 


What students are saying:

  • 5 stars, "This is classic. Spark related concepts are clearly explained with real life examples.  " - Temitayo Joseph 

In data pipeline whether the data is in structured or in unstructured form, the final extracted data would be in structured form only. At the final stage we need to work with the structured data. SQL is popular query language to do analysis on structured data.

Apache spark facilitates distributed in-memory computing. Spark has inbuilt module called Spark-SQL for structured data processing. Users can mix SQL queries with Spark programs and seamlessly integrates with other constructs of Spark.

Spark SQL facilitates loading and writing data from various sources like RDBMS, NoSQL databases, Cloud storage like S3 and easily it can handle different format of data like Parquet, Avro, JSON and many more.

Spark Provides two types of APIs

Low Level API - RDD

High Level API - Dataframes and Datasets

Spark SQL amalgamates very well with various components of Spark like Spark Streaming, Spark Core and GraphX as it has good API integration between High level and low level APIs.

Initial part of the course is on Introduction on Lambda Architecture and Big data ecosystem. Remaining section would concentrate on reading and writing data between Spark and various data sources.

Dataframe and Datasets are the basic building blocks for Spark SQL. We will learn on how to work on Transformations and Actions with RDDs, Dataframes and Datasets.

Optimization on table with Partitioning and Bucketing.

To facilitate the understanding on data processing following usecase have been included to understand the complete data flow.

1) NHL Dataset Analysis

2) Bay Area Bike Share Dataset Analysis


++ Apache Zeppelin notebook (Installation, configuration, Dynamic Input)

++Spark Demo with Apache Zeppelin