• Provider
  • Cost
  • Session
  • Language
  • Effort
  • Duration


Learn the basics of F# syntax in this programming course from the experts at Microsoft, and begin your journey into the world of functional and modular programming.

Why learn F#? F# is about getting things done. The language has been attractive to groups working in finance and math-intensive disciplines but it broadens the ability of any developer to correctly express more powerful programming ideas in a safer way. So regardless of your programming background, learning F# can help make you a more effective programmer.

The first part of this course provides the groundwork and fundamentals necessary to build functional applications. It will provide a framework of functional programming concepts by giving the student clear examples and the opportunity to practice writing code using those concepts. The course will also provide you with the basics of F# syntax and the core features of the language.

The second part of this course will dive deeper into the more advanced concepts of F# such as concurrency, integration with other languages, type providers, and agents. By the end of this two-part course you will have a solid foundation in functional programming with F#.

To be successful in this course, you should have an understanding of fundamental programming concepts. Knowing the basics of program flow, conditionals, and loops will provide a good foundation for the concepts taught in this course. There are a number of excellent resources available on edX and Microsoft Virtual Academy to help you pick up those skills before jumping in.

We look forward to spending the next few weeks with you helping you explore and understand F#.


Week 1: Programming F#
We’ll introduce the language, help you install the tools, and prepare you for what’s ahead. You’ll also create your first F# application.
Week 2: Branching
We’ll cover if-then and for-while loops and introduce you to pattern matching in F#
Week 3: Types in detail
We’ll cover inferred types, tuples, lists, sequences, sets and maps and show you how to use them in your F# programs.
Week 4: Advanced Pattern Matching
Finally, we’ll cover classification, guards, and debugging in F#