ST: Functional Programming in Java

339.352 2 KV Prähofer, Fried Room: TBA Start: May 7, 2020

Objectives

Getting an in depth introduction to functional programming in Java.

Subjects

  • Introduction to functional programming
  • Language features for a functional programming
  • Working with function parameters and function composition
  • Functional streams
  • Parallel streams
  • CompletionStages und CompletableFutures
  • Functional reactive programming with RxJava

Methods

  • slide-based lecture
  • programming examples
  • homework project

Language

English

Criteria for evaluation

  • student projects
  • written exam

Schedule

Nr Date Time Room Topics
1 Thursday May, 7 17:15 - 20:00 MT 226/1 Introduction and language basics
2 Friday, May 8 10:15-11:45, 12:45 – 15:15 TBA Programming with function parameters and function composition
3 Thursday, May 14 17:15 - 20:00 MT 226/1 Streams
4 Friday, May 15 10:15-11:45, 12:45 – 15:15 MT 127 Parallel streams
5 Thursday, May 28 17:15 - 20:00 MT 226/1 CompletableFutures, Reactive Programming with RxJava
6 Friday, May 29 10:15-11:45, 12:45 – 15:15 S2 053 Reactive Programming with RxJava
7 Friday, June 19 10:15 - 11:00 HS 9, HS 15 Written exam
7 Friday, June 19 TBA TBA project reviews

Literature

  • R.-U. Urma, M. Fusco, A. Mycroft: Modern Java in Action, Manning, 2019
  • M. Naftalin: Mastering Lambdas: Java Programming in a Multicore World, Oracle Press, 2015
  • R. M. Reese: Learning Java Functional Programming, Packt Publishing, 2015
  • P.-Y. Saumont: Functional Programming in Java, Manning, 2016