Distributed Programming in Java

Coursera Courses ↗ · Coursera

Open Course on Coursera

Free to audit · Opens on Coursera

Distributed Programming in Java

Coursera · Intermediate ·🏗️ Systems Design & Architecture ·1mo ago
This course teaches learners (industry professionals and students) the fundamental concepts of Distributed Programming in the context of Java 8. 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 course 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 o
Watch on Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related AI Lessons

Unbounded Processes: The Hidden Cost of Always Saying Yes
Learn to identify and manage unbounded processes that can lead to system failure, and why saying no to certain requests is crucial for scalability
Dev.to · Khali Sollis
Developing network-based multiplayer games made easy
Learn to develop network-based multiplayer games easily using a lightweight server and framework
Medium · Programming
Errors as Infrastructure: Why the first crate in NEXUS wasn't networking.
Learn how to design a metadata-centric failure contract for distributed Rust environments and why error handling is crucial infrastructure
Dev.to · Anatolii Shliakhto
Building Microfrontends with Svelte: A Modern Approach to Scalable Web Apps
Learn to build scalable web apps using Svelte and microfrontends architecture
Dev.to · Sravan Kumar Velangi
Up next
Why Valve Chose Debian According To Linus Torvalds #shorts #linux #valve #debian
WebKnower
Watch →