# Functional Programming in F#

• Slides 1: Expression as a basic building block (pptx, pdf format)
• Tutorial: Sample project for Visual Studio 2008, that should work after installing F# CTP (zip format)
• Slides 2: Refactoring code using functions (pptx, pdf)
• Series demo: Console application that uses ReadLine to calculate the sum of first X members of a number series(zip format)
• Slides 3: Composing primitive types into data (pptx, pdf format)
• Drawing: Sample from the lecture that demonstrates how to draw using Windows Forms and a template for your homework plot (zip format)
• Slides 4: Generic and recursive types (pptx, pdf format)
• Recursion: Examples of recursive functions that traverse lists using structural recursion (zip format)
• Slides 5: Hiding recursion using function-as-values (pptx, pdf format)
• Sequences: A few notes regarding the "folds" homework and samples of using sequnece expressions (zip format)
• Slides 6: Sequence expressions, computation expressions & asynchronous workflows (pptx, pdf format)
• Monads: Examples of computation expressions (also known as monads) and asynchronous computations (zip format)

### Homeworks

Most of the homeworks are puzzles that should be easy to solve once you get the idea. There will be shorter deadlines for these, so that we can reveal the solution afterwards :-). For more complicated homeowrks where you actually need to write some F# code, you'll have, of course, more time.