Best F# Online Courses
Table of Contents
#1 Functional Programming with F#
This course aimed at students with beginner to intermediate skill in F#, basic understanding of the F# syntax and a light functional understanding would be beneficial. You’ll also need a computer with Linux, OSX or Windows with F# installed and an internet connection.
Have you wanted to understand how to ‘do’ machine learning or implement algorithms from a textbook in a programming language, or deploy a library to Nuget? Well, this course includes sections on machine learning using a mathematical theorem known as Bayes’ Theorem.
What will we do?
We will complete two F# project together,
- We will start by creating a predictive text engine and deploy it to Nuget, while learning how to write some basic unit tests in FsUnit. We will explore every line of code together and point out all the important programming concept as we progress.
- Then we will use Bayes’ Theorem to classify spam messages using real world data. We’ll build a command line application and parse command line arguments so that we can use our program on the command line.
What is f#?
F# is a mature, functional-first language especially well suited to computer science, machine learning, distributed computing and web applications too. There really is no limit to what F# can do for you!
We’ve structured the course to make learning all the material as easy and accessible as possible. We’ll challenge you to complete an F# programming task in every video to make sure you’ve got a great grip on all the concepts. But don’t worry, because after every challenge, we’ll also walk you through a solution line by line.
We have structured the course to introduce you to some computer science concepts, but to also encourage you to spend your own time to gain further insights into the concepts we introduce you to.
If you want to program with a language that has computer science at its heart and want to future proof your learning then this course is for you.
#2 Create your own Mini Web Server in F#
- We all know reading the source code of a widely used library/project will help us to learn a programming language better. But how about learning a language by (re)building the project itself from the ground up? Sounds interesting, isn’t it?In this course, we are going to build a minimal version of the Suave library, a popular web development library in F#.We will be creating the library by focusing on one requirement at a time, and evolve it incrementally.
Note: To get most out of this course, code side by side with the videos and experience the essence of functional programming.
What is Suave?
Suave, a simple web development library in F#. It provides a lightweight, non-blocking web server and a set of combinators to manipulate route flow and task composition. The non-blocking I/O model is efficient and suitable for building fast, scalable network applications.
By Completing this course, You will learn- Three-Step Approach – A useful technique to develop applications using Functional Programming
- A real world application of Combinator Pattern
- Internals of the Suave library
- Last but not the least, you are going to experience how to put the pieces together and build a complete project using functional programming principles and techniques.
#3 Beta: F# in the Workplace
F# is a mature, functional-first, general purpose language especially well suited to computer science, machine learning, distributed computing and web applications, Domain Driven Design and Test-Driven Development too. There really is no limit to what F# can do for you!
We’ve structured the course to make learning all the material as easy and accessible as possible. We’ll challenge you to complete an F# programming task in every video to make sure you’ve got a great grip on all the concepts. But don’t worry, because after every challenge, we’ll also walk you through a solution line by line.
We have structured the course to introduce you to some computer science and functional concepts, but to also encourage you to spend your own time to gain further insights into the Domain Driven, Test-Driven concepts we introduce you to.
If you want to program with a language that has computer science at its heart and want to future proof your learning then this course is for you.
Best F# Books:
#1 The Book of F#: Breaking Free with Managed Functional Programming by Dave Fancher
#2 Get Programming with F#: A guide for .NET developers by Isaac Abraham
#3 Expert F# 4.0 by Don Syme
#4 Stylish F#: Crafting Elegant Functional Code for .NET and .NET Core by Kit Eason
#5 Functional Programming Using F# by Michael R. Hansen