Concepts of functional programming is made much harder when the developer is also trying to learn a new language, like Haskell, Scala or Clojure at the same time. With that in mind, we focus on relating functional concepts in a common language: Java.
There is a video presentation followed by spirited conversation.
Audience: technical and semi-technical. Although programming techniques are discussed, semi-technical audiences can fully appreciate the the rationale and flexibility.