
This video gives an overview of entire course.
This video shows how to install .NET Core.
Introduce .NET Core
Install .NET Core and see command line options
Install VS code
In this video, we will develop a first sample application.
Create projects by using command line tools
Code a two-project sample that makes use of external packages
Run the project and see its output
This video shows which IDE we should use.
Introduce Visual Studio and Visual Studio code
Compare their advantages and disadvantages in terms of F# development
Describe the reasons for choosing Visual Studio code for this lesson
In this video, we will show comparison of programming paradigms.
Describe procedural programming
Learn about object oriented programming
Learn the benefits of functional programming
This video shows why functional programming become an attractive paradigm.
Learn the factors that have affected functional programming
Understand concurrency and Moore’s law
Learn why memory is cheaper now
This video shows what the principles of functional programming are.
Learn the immutability, purity, and composition
Study recursion, referential transparency
Learn algebraic data types
In this video, we will learn how to use classes and constructors.
Learn about explicit and implicit syntax
Learn about constructors and constructor chaining
Use fields and let bindings in classes
In this video, we will learn about interfaces and learn more through OOP with F#.
Learn about interfaces and how to implement them
Understand the differences with abstract classes
Learn different properties with getters and setters
This video shows how to interact with C# and .NET.
Call C# from F#
Use mutable collections
Use System.Linq
In this video, we will learn differences of C# and F#. Alsodrawbacks of F# if any.
Compare IDE and tooling support
Compare syntax support
Compare project structure
In this video, you will learn how composition is a key aspect of Functional programming
Reduce function
Generate other functions using reduce
Use the Composition operator
In this video, you will learn what partialapplication is.
Define partial application
See examples of partial application
Learn partial application as poor man’s dependency injection
In this video, you will learn the why and what of immutable collections.
Understand the need for immutable collections
Learn about functional Data Structures
Learn immutable collections via examples
In this video, you will learn about records and equality.
Learn defining records
Learn how to mutate records
Build records as Structs
This video shows what the purpose of discriminated unions is.
See the basic examples of discriminated unions
Represent chess pieces by using discriminated unions
Define recursive types by using discriminated unions
This video shows what option types are and how they protect us from using nulls.
Understand the problems with null values
Use nulls with F#
Use option types to improve the code
In this video, we will learn about pattern matching and its applications.
Understand pattern matching on primitives
Learn about active patterns
Use pattern matching on records
In this video, we will see what are Map and Apply.
Introduce elevated world
Introduce Map
Introduce Apply
This video shows What Bind is.
Define Bind
How Bind combines functions
Practice Bind
In this video, we will learn about the M word and its corresponding application via computation expressions.
Learn how bind and return makes up monads
Learn how we create and use computation expressions
Learn about Maybe monad and how it short circuits on error
In this video, we will learn how to use async workflows in F#.
Learn the purpose of asynchronity
Understand the FSharp implementation of async workflows
Learn how to run multiple async workflows in parallel
In this video, we will see What a mailbox processor is and why do we need it.
Understand the basics of mailbox processor
Build a producer consumer queue
Learn about Post, Scan and PostAndReply
In today’s world fully functional web applications are a key requirement and a necessity.
We can have a run through developing web applications that includes server-side as well as the client-side programming using Fable, F# to JavaScript compiler.
We will focus on the .NET Core platform so that your application will work in a cross-platform manner.
About the Author
Onur Gumus is a Lead Software Engineer based in Dubai. He has diverse interests in software development, architecture, Wing Chun, and Chess. He spends most of his time building .NET applications. His previous experience is as Software Architect at P.I. Works, where he developed several F# projects and gave internal tutorials to the developers. He is extremely passionate about F# and functional programming, and hopes to spend more and more time helping developers in the community to become proficient at functional programming.