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)