Functional Programming For Stream Processing

Functional Programming For Stream Processing

Course overview

In the world of data, distributed system, and real-time communication, it is common to hear “stream of data”. But do you know how to work with data streams? How to process data within a stream? Doing that fast and, of course, keep your code readable? If not, that course is for you!

In the course, we will learn a functional approach for data stream processing. We will start from the basics of functional programming and end with applying FP for building real data pipelines.


Course topics

Topic 1: Basics

  • Motivation: The role of Functional Programming in the world of data
  • Functions, High-Order Functions, Pure Functions
  • Closure and Function Curring
  • Recursion
  • Functional Data Structures
  • Pattern Matching

Topic 2: Collections and Operations on Collections

  • Transformation
  • Functional Composition
  • Declarative & Lazy evaluation
  • Common Transformations: map, reduce, etc..

Topic 3: Asynchronous & Parallel with functional programming

  • Parallel vs Async Sequential
  • Algorithms & Data Structures for parallel programing
  • Fork Join
  • Map => Reduce
  • Frameworks: Akka

Topic 4: Reactive and Functional Programming for Streaming

  • Control Flow: Push vs. Pull
  • Reactive Streams
  • Akka Streams


1. IntelliJ IDEA
2. EduTools Plugin Installed
3. Scala Plugin Installed
4. JDK 8+


Про факультет

Важлива інформація

Контактна інформація