Estimated — self-paced course, go at your own speed.
C# to F#: Language Fundamentals
Here, "Beginner" describes the level of the C# to F# path, not your programming experience: this tier assumes you're an experienced C# developer, and requires no F# prerequisites to get started. You'll discover `dotnet fsi`, `let` bindings and type inference, immutability by default, the `|>` and `>>` operators, pattern matching, and records — seven modules that take you from zero exposure to F# to hands-on practice with its fundamentals, with every concept tied back to its C# equivalent or contrast. F# craft (testability, mocking) and more advanced types such as discriminated unions, `Option`, and `Result` are out of scope here: they'll make full sense once these foundations are in place, and will be covered later in the C# to F# path.
Modules
- 1Prerequisites and SetupCheck the .NET SDK, start your first dotnet fsi session, and understand the ;; rule.
- 2Let Bindings and Type InferenceHow let binds a name to a value or a function, and how F# infers its type without annotation.
- 3Immutability: let vs mutableWhy a plain let refuses any reassignment, and how mutable explicitly brings it back.
- 4Pipe and CompositionReplacing nested calls with a |> pipeline, and building new functions with >>.
- 5Pattern MatchingHow match replaces if/else and switch to branch on the shape of a value, including a tuple.
- 6RecordsThe F# record type and its default structural equality, contrasted with an ordinary C# class.
- 7Wrap-upAn integrating exercise that combines let, |>, match, and records, before announcing the Intermediate tier.