F# From the Ground Up
What you'll learn
- Learn how to install .NET and Visual Studio Code for use with F# on Windows.
- Learn how to create and run .NET F# programs from scratch
- Learn to use F# data types such as Records and Option types to model data
- Learn to leverage F# collection functions to build data processing pipelines.
Requirements
- Some prior coding experience is helpful but not essential.
- A computer running a recent version of Windows.
Description
Whether it's your first programming language or your twenty-first, F# will transform your experience as a software developer. Requiring nothing more than basic computer literacy, this course teaches you how to write software in F#.
Topics include:
Setting up your environment • Installing .NET • Installing Visual Studio Code • Creating, building and running a console program • Declaring values and functions • Working with arrays, lists and other collections • Conditional branching and looping • Record types • Handling missing data with Option types • Object Orientation • The magic of discriminated unions and pattern matching • Generics • Forward piping • Higher order functions • Lambda expressions
The course uses the free editor VS Code, which the course shows you how to install. The only thing you'll need is a computer running Windows (8, 10 or later).
IMPORTANT NOTE FOR LINUX AND MACOS USERS
This course originally supported all three operating systems: Windows, Linux and MacOS. However the latest version of .NET, version 5, appears to have broken the toolchain for Linux. It will take me some time to establish whether MacOS still works. For this reason I have withdrawn the sections of the course which deal with installation for Linux and MacOS. I may restore these sections in future if the issues are mitigated. Please forgive any lingering references in the course to Linux and MacOS.
Who this course is for:
- Beginner software developers
- Software developers with experience in other languages such as C#, Visual Basic, JavaScript, Java or Python
Featured review
Instructor
I'm a software developer of several decades experience, currently working in the railway industry. I work primarily in F#, but I also have C#, JavaScript, TypeScript and many other languages in my toolbelt. I've contributed to or written a number books on F#, and have numerous successful F# courses available on various platforms.