Overview
Distributed programming enables developers to use multiple nodes in a data center to increase throughput and/or reduce latency of selected applications.
By the end of this course, you will learn how to use popular distributed programming frameworks for Java programs, including Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI), as well as different approaches to combine distribution with multithreading.
Why take this course?
All data center servers are organized as collections of distributed servers, and it is important for you to also learn how to use multiple servers for increased bandwidth and reduced latency.
In addition to learning specific frameworks for distributed programming, this course will teach you how to integrate multicore and distributed parallelism in a unified approach.
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 Distributed Programming in Java course offered by Coursera in partnership with Rice University are as follows:
- Distributed map-reduce programming in Java using the Hadoop and Spark frameworks
- Client-server programming using Java's Socket and Remote Method Invocation (RMI) interfaces
- Message-passing programming in Java using the Message Passing Interface (MPI)
- Approaches to combine distribution with multithreading, including processes and threads, distributed actors, and reactive programming Mastery of these concepts will enable you to immediately apply them in the context of distributed Java programs, and will also provide the foundation for mastering other distributed programming frameworks that you may encounter in the future (e.g., in Scala or C++).
Programme Structure
Course structure:
- Sockets
- Serialization/Deserialization
- Remote Method Invocation
- Multicast Sockets
- Publish-Subscribe Model
- Demonstration: File Server using Sockets
Key information
Duration
- Part-time
- 14 days
- 10 hrs/week
Start dates & application deadlines
Language
Delivered
- Self-paced
Campus Location
- Mountain View, United States
Disciplines
Software Engineering View 337 other Short Courses in Software Engineering in United StatesWhat students do after studying
Academic requirements
We are not aware of any specific GRE, GMAT or GPA grading score requirements for this programme.
English requirements
We are not aware of any English requirements for this programme.
Other requirements
General requirements
- Intermediate level
- Some related experience required
- This course is aimed at learners with a background in Java programming who want to develop skills in distributed programming to build scalable, high‑performance applications using frameworks such as Hadoop, Spark, and Kafka.
Tuition Fees
-
International Applies to you
Applies to youNon-residentsFree - Out-of-StateFree
-
Domestic
Applies to youIn-StateFree
Additional Details
- This short course is included with Coursera Plus subscription
Funding
Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project.