ST: Functional Programming in Java

339.352 2 KV Prähofer, Fried Start: May 16, 2024

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

Methods

  • slide-based lecture
  • programming examples
  • homework assignments

Language

English

Criteria for evaluation

  • homework assignments
  • written exam

Schedule

Nr Date Time Room Topics
1 Thursday May, 16 17:15 - 19:45 T 405 Introduction and language foundations
2 Friday, May 17 10:15-11:45, 12:45 – 15:15 T 405 Functional data structures, functional exception handling
3 Thursday, May 23 17:15 - 19:45 T 405 Common structures in functional design
4 Friday, May 24 10:15-11:45, 12:45 – 15:15 T 405 Common structures in functional design
5 Thursday, June 6 17:15 - 19:45 T 405 Lazy evaluation and streams
6 Friday, June 7 10:15-11:45, 12:45 – 15:15 T 405 Reactive programming with RxJava
7 Friday, June 21 10:15 - 11:00 HS 9 Exam

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