ST: Functional Programming in Java

339.352 2 KV Prähofer, Fried Start: March 12, 2026

Objectives

Getting an in depth introduction to functional programming in Java.

Subjects

  • Introduction to functional programming
  • Language foundations for a functional programming in Java
  • Functional data structures
  • Functional exception handling
  • Common structures in functional design
  • Lazy evaluation and streams
  • Functional reactive programming with Reactive Extensions

Schedule

Nr Day Time Room Topic
1 Thur, March 12 17:15 - 19:45 MT 128 TBA
2 Fri, March 13 10:15 - 11:45 MT 128 TBA
3 Fri, March 13 12:45 - 15:15 MT 128 TBA
4 Thur, March 19 17:15 - 19:45 MT 128 TBA
5 Fri, March 20 10:15 - 11:45 MT 128 TBA
6 Fri, March 20 12:45 - 15:15 MT 128 TBA
7 Thur, March 26 17:15 - 19:45 MT 128 TBA
8 Fri, March 27 10:15 - 11:45 MT 128 TBA
9 Fri, March 27 12:45 - 15:15 MT 128 TBA
10 Fri, April 17 10:15 - 11:00 HS 2 Written exam

Methods

  • slide-based lecture
  • programming examples
  • homework assignments

Language

English

Criteria for evaluation

  • homework assignments
  • written exam

Schedule


Literature

  • H. Prähofer: Funktionale Programming in Java, dpunkt.verlag, 2020 (in German)
  • 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