##Introduction## Do you want to learn F# and Functional Programming? Well, you better start coding!
Learning a new programming language is not easy, on top of reading a lot you need to practice even more.
This workshop is designed to teach you some of the basics of F# and Functional Programming by combining theory (slides) and practice (exercises).
The course is split into 5 modules, each of them contains a presentation (theory) and one exercise (practice). You can find exercises for each module in this document, for the presentation and source code, refer to the section
- Bindings
- Functions
- Tuples
- Records
- High order functions
- Pipelining
- Partial application
- Composition
- Options
- Pattern matching
- Discriminated unions
- Units of measure
- Functional lists
- Recursion
- List module
- Object Oriented Programming
- Type providers
- Web Applications
- Visual Studio 2013
- Visual F# tools 3.1.2 or higher link
- F# MVC5 Template link
- XUnit Runner link
- Visual F# Power Tools (optional) link
Choose the material by selecting the sentence that fits you best. It is recommended to review the first two before taking the workshop.
Watch this video: Functional Programming: What? Why? When? by Robert C. Martin @unclebobmartin
Practice Online: Try F#
Watch this video: F# for the C# developer by Mathias Brandewinder @brandewinder
Practice using the Tutorial project in Visual Studio:
- Add New Project -> Other Languages -> Visual F# -> Tutorial
- View -> Other Windows -> F# Interactive
- Open Tutorial.fsx
- Highlight the code you want to execute and then right-click “Execute in Interactive” (Alt+Enter)
Read this one: Real-World Functional Programming by Tomas Petricek @tomaspetricek