Course Overview
What this F# Programming course covers, how to use it, prerequisites.
A structured, hands-on course on F#, the functional-first, strongly typed, open-source language for .NET. It runs from your first printfn in F# Interactive to immutable values, functions and pipelines, pattern matching, records and discriminated unions, option and result types, collections, recursion, domain modeling ("make illegal states unrepresentable"), computation expressions, async and tasks, MailboxProcessor agents, object-oriented features and C# interop, units of measure, type providers, active patterns, generics and inline/SRTP, quotations and reflection, testing (Expecto, xUnit, FsCheck), web development (Giraffe, Saturn, Falco, Oxpecker, ASP.NET Core), Fable and Elmish for JavaScript frontends, data science, performance tuning, tooling (Paket, FAKE, Fantomas), and production deployment.
Targets F# 8/9 on .NET 8/9 (with notes on newer releases). Check your version with dotnet --version and dotnet fsi --help.
Course Overview
Beginners, C#/.NET developers, functional programming learners, data/finance engineers
Basic programming knowledge helps; no prior functional experience needed ~80–100 hours (self-paced), 11–12 weeks.NET SDK 8/9+, VS Code + Ionide, JetBrains Rider, or Visual Studio
dotnet fsi, Polyglot/Jupyter notebooks, Exercism F# track, Advent of Code, Project Euler
Foundations → Types & Matching → Collections → Organization → Domain Modeling → Computation Expressions & Async → OOP & Advanced Types → Quality → Applications
(1–8) (9–15) (16–21) (22–26) (27–29) (30–35) (36–41) (42–45) (46–52)