Functional programming has previously been seen as a niche, academic form of programming with little use in popular commercial software development. With greater system resources available on modern computers, and multi-core processors encouraging emphasis on multithreading, functional programming is back - and here to stay.
Paul Williams will initially demonstrate simple functional programming concepts like immutability using the Clojure (http://clojure.org) REPL (https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop). He will walk through options on getting a Clojure environment working, but clojurerepl (http://web.clojurerepl.com/) is an equally good environment in which to try the language with no setup. If you want to install Clojure, please ensure you have a modern JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html)installed.
Once people have basic familiarity with the language and REPL, he'll present some of Clojure's time / noise saving features like destructing, and map / reduce.
Many OO / imperative programmings understand the benefits of FP, but don't see how an application can be written with immutable state - Paul will finish off with a quick demo of a simple system written in ClojureScript (https://github.com/clojure/clojurescript) / Clojure with an immutable database - Datomic (http://www.datomic.com/).