This practical tutorial will teach you how to turn to the functional side. In the morning, we'll slowly introduce functional concepts by looking how would the same concepts look in object-oriented style. You'll understand how functional programming works under the cover and you'll be ready to use F# to solve some practical problems in the afternoon. The examples will include concurrent programming and data analysis tasks.
The morning part of the tutorial is designed for programmers with no prior knowledge of functional programming. The afternoon part assumes some experience with the F# syntax and functional ideas (which you'll learn in the morning, although the parts are largely independent).
You will leave with understanding why functional concepts matter. Many of the ideas will be applicable regardless of the programming language used. Moreover you will learn about some interesting F# technologies such as asynchronous workflows and type providers.
Please bring a laptop to the tutorial. Ideally, you should install the required software on your laptop before the tutorial. If that fails, we'll have a machine on-site for you to connect to. In that case, make sure to have an RDP client (a client for Microsoft's Remote Desktop protocol) installed on your laptop, so you can connect to our on-site machine.
If you have problems or questions, please contact Mike Sperber (sperber(at)deinprogramm(dot)de).
You need a Windows to follow this tutorial. (If you don't have Windows on your laptop, do not worry - there'll be a machine on-site for you to log into. See above.)
You will also need Visual Studio 2012: Microsoft has a trial version of Visual Studio 2012 Ultimate that is available for free download.
Tomas is a PhD student at the University of Cambridge with interest in functional programming languages. He is an F# expert, using F# since the early Microsoft Research versions. Together with Jon Skeet, he wrote a book Real-World Functional Programming which explains basic functional concepts using C# (teaching F# alongside) and which shows several appealing real-world uses of F#. Finally, Tomas also contributed to the development of F# itself as an intern and contractor at Microsoft Research. Before moving to Cambridge, Tomas studied and worked as a consultant in Prague in Czech Republic.