Functional programmes are high level, clean, and effective, and that's due to a number of the ideas that we'll find out about in this course. We're assuming that you've got programming experience, but we're not assuming that you know anything about functional programming at all. So what we'll do is treat functional programming from scratch but relate that to the programming experience that you already have in drawing comparisons, say, with how you might do things in Java. As well as myself, Joe Armstrong, who is one of the inventors of Erlang, and Francesco Cesarini, who runs a big Erlang consultancy, will be taking part in a wide ranging discussion about Erlang and functional programming in general towards the end of the course. As well as learning the general principles of functional programming, you'll get experience of writing functional programmes in the Erlang language itself.