This course is an introduction to the basic concepts of functional programming (FP) and its application to stream and distributed processing of large volumes of data. As the explosion of available social, internet of things (IoT), device, marketing, and other types of data continues at an ever increasing rate, it becomes paramount to be able to process and analyze this data in real time. In order to do that, highly scalable systems have to be designed and developed that are capable of performing data- and compute-intensive operations in a distributed manner over hundreds of physical servers. This course focuses on building the foundation of such systems, which are applications capable of processing data in a highly parallel fashion. In this course, students learn core FP concepts and basic design patterns, understand how they are used as a foundation of parallel and distributed programming, and learn how to apply these concepts and foundations to stream processing of big data volumes. Students get hands-on experience writing basic functional programs and using them for stream processing.
Harvard Division of Continuing Education