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’ F# in your day job? Well, this course demonstrates how you can use Test Driven Development and the F# type system in tandem to write a domain for any problem you are attempting to solve. What will we do?We will complete an F# library project together, We will start by defining the concepts of the domain, using some tips from Domain Driven Design, but predominantly working in the area of Test-Driven Development whilst harnessing the power of the F# type system. We will explore every line of code together and point out all the important programming concept as we progress. What is f#?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! Weve structured the course to make learning all the material as easy and accessible as possible. Well challenge you to complete an F# programming task in every video to make sure youve got a great grip on all the concepts. But dont worry, because after every challenge, well 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.