We will not neglect the theoretical basics of functional programming (lambda calculus, monads, continuations), but one focus of this course is practical application. You will learn how functional devices are implemented in languages such as Scala, Java, and JavaScript and how they are used in frameworks such as streams, futures, distributed analytics, and reactive programming.