Functional Programming with Java and Threads (Coursera)

Offered by Vanderbilt University,
Functional Programming with Java and Threads (Coursera)

This course provides an in-depth journey through modern Java object-oriented and function programming concepts and features, and explores how to apply these concepts and features to implement efficient and scalable concurrent programs using very modern Java features like virtual threads.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

The first week gives an overview of Java object-oriented and functional programming paradigms. The second and third week delve into Java functional programming features, such as lambda expressions, method references, and functional interfaces. The final week explores the intricacies of very modern Java platform threads, virtual threads, as well as Java's asynchronous computation features, such as Future & FutureTask.
After completing this course, you'll gain a deep understanding of both object-oriented and functional programming concepts and features in Java, along with the ability to apply these concepts and features to develop multi-threaded programs. To illustrate key points, we walk through numerous case studies, all of which are available in open-source form from my GitHub repository.
This course is part of the Scalable Microservices for Developers Specialization.

What you'll learn

  • Be fluent in the use of modern Java object-oriented and functional programming mechanisms, particularly as they pertain to multi-threaded programs.
  • Know where to find additional sources of information on how to program multi-threaded Java object-oriented and functional programs.

Syllabus

Overview of Java Object-Oriented and Functional Programming
Java Functional Programming with Lambda Expressions and Method References
Java Functional Interfaces
Java Thread Objects and Functional Programming

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Use C++ to build a crypto trading platform V: final system (Coursera) Coursera
University of London,Goldsmiths, University of London

Use C++ to build a crypto trading platform V: final system (Coursera)

This course is the fifth of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language. This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Jun 22nd 2026
2 Weeks
Java Programming: Principles of Software Design (Coursera) Coursera
Duke University

Java Programming: Principles of Software Design (Coursera)

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

Jun 22nd 2026
4 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Jun 22nd 2026
5-12 Weeks
Introduction to Java and Object-Oriented Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

Jun 22nd 2026
3 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Jun 22nd 2026
5-12 Weeks
Distributed Programming in Java (Coursera) Coursera
Rice University

Distributed Programming in Java (Coursera)

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.

Jun 22nd 2026
4 Weeks
Parallel Programming in Java (Coursera) Coursera
Rice University

Parallel Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.

Jun 22nd 2026
4 Weeks
Object-Oriented Hierarchies in Java (Coursera) Coursera
LearnQuest

Object-Oriented Hierarchies in Java (Coursera)

Object-Oriented Hierarchies in Java is the third of a series of courses in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.

Jun 22nd 2026
5-12 Weeks
Introduction to Java Enterprise Edition (EE) (Coursera) Coursera
LearnQuest

Introduction to Java Enterprise Edition (EE) (Coursera)

This course focuses on JEE as a platform. We discuss the motivation and purpose, as well as some of the frequently used libraries and technologies, in the Java Enterprise Edition. We take a look at Web basics, our building blocks for understanding how the internet works. Then, we get very hands on with understanding the Servlet hierarchy, and how servlets handle request/response cycles. Finally, we learn about transferring control via forward and redirect mechanisms.

Jun 22nd 2026
2 Weeks
Use C++ to build a crypto trading platform IV: objects (Coursera) Coursera
University of London,Goldsmiths, University of London

Use C++ to build a crypto trading platform IV: objects (Coursera)

This course is the fourth of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language. This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Jun 22nd 2026
2 Weeks
Introduction to Object-Oriented Programming with Java (Coursera) Coursera
LearnQuest

Introduction to Object-Oriented Programming with Java (Coursera)

Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions. We'll begin with a brief refresher on necessary concepts from Object-Oriented Programming.

Jun 22nd 2026
4 Weeks