Lectures and associated literature

Agile Software Architecture and Techniques Lectures

Software Architecture and Techniques SWAT discuss approaches, methods and tools taught in the context of agile development approaches. It reflects current trends where more than 80 % of new software development is performed using agile software development approaches.

The depth of the concepts shall be modulated to the knowledge of the participants. Primary goals are to establish comprehension of agile architecture and master a small set of techniques enabling the participant to define a component or a small application architecture.

Modern Java and Selected JVM Languages Lectures

Modern Java and Selected JVM languages PCP discuss programming paradigms to write legible, efficient source code. The theory is mapped to programming language features. The participants learn how to create modern design concepts and implement them in JVM languages such as Java, Clojure, and Groovy.

Key themes are:

  • Algebraic data types with records, sealed types and libraries such as lombok
  • Functional programming with lambdas, streams, and optional. Functional concepts of first-class citizens, currying, recursion are discussed.
  • Pattern matching extensions in switch, if and instanceof expressions.
  • Module concept in Java environment
  • Advanced concepts such as Valhalla, Loom, Panama, and Amber and their impact on JVM programming
  • Clojure and Groovy are extensively used to explain better implementations of the above concepts.

User Interfaces with Vaadin