Programming Languages

Object Meets Function

Praktikum demonstrates how to merge imperative, functional, and object-oriented programming paradigms using Scala as a programming language. It starts with imperative paradigms like mutation and control structures. The next step is learning about functional paradigms, including first-class function, higher-order function, call by value, and call by name. The last paradigm is object-oriented programming, which covers encapsulation, inheritance, and polymorphism. The next topic will discuss options, collections, pattern matching, regular expressions, and function composition. Programming can be improved by learning the ideas behind it.



  • The Praktikum is in English
  • The maximum number of absents is three.
  • The participant must complete 75% of assignments (ex. six from eight).
  • All assignments must submit before the deadline. Late submission will deduct 20% from the maximum point per day.
  • The participant must complete one project.
  • Participants can make a group (max 2 participants per group) for one project.


  • Programming paradigm
  • Let’s mutate the state!
  • Do it with functions
  • Everything is the object
  • Option, implicit, and collection
  • Matching with pattern
  • Function composition (Monad)
  • More about function composition

The participant

  • Those who want to learn to program in Scala.
  • Programmers who wish to expand their horizons by learning new concepts.
  • OO programmer, this Praktikum will expose you to many concepts from functional programming and advanced object-oriented class.


General programming knowledge is assumed. However, we expect participants to be familiar with the Functional and Object-Oriented Programming concepts.


The Praktikum is in high demand. Therefore, to participate, please send an email containing your name, Matrikelnummer, and Studiengang to Steven Lolong
Steven Lolong

Alma System