Beta: Start Programming With F# Today
4.3 (165 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,186 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beta: Start Programming With F# Today to your Wishlist.

Add to Wishlist

Beta: Start Programming With F# Today

Learn industry leading functional programming in the cross-platform F# language
4.3 (165 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,186 students enrolled
Created by Mark Gray
Last updated 3/2016
English [Auto-generated]
Price: Free
  • 4.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Run F# in an interactive environment on their platform.
  • Understand how values and functions work in F#.
  • Generate procedural images in F#.
  • Craft dynamic web APIs and sites with Suave
  • Learn to use ReactJS and Redux to create usable, interactive frontend apps.
  • Use your web APIs with JavaScript to learn full stack web development.
View Curriculum
  • How to download and install software on their machine.
  • Nothing else :)

This course aimed at people with little or no skill in programming, no prior skills are required all. You just need a computer with Linux, OSX or Windows and an internet connection.

This course is about introducing you to programming in F#. We’ll complete an F# project together and generate procedural images in code, while learning functional programming principles. We will walk you through and explain every line of code and point out all the important programming concept as we progress.

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 enable anyone, no matter their background or experience, to get up and running with F#.

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.

Who is the target audience?
  • People who want to learn how to program
  • Developers who want to learn an awesome functional programming language.
  • People that want to understand what functional programming can do.
Compare to Other F# Courses
Curriculum For This Course
30 Lectures
An introduction to F#
11 Lectures 01:30:47

Welcome to this course! In this video, we go over what we'll be doing in this section! Hope you have fun learning F#!

This section is extremely basic, the aim is to cater for all skill levels from complete novice. Don't skip <NecessaryParts> as we will explain where you find the resources through the rest of the course.

Welcome to this course

We show you what to expect in the videos and how to find files and get in touch with us.

Using this course

In this video, we go over the best practices for asking good questions and why they matter.

Asking good questions

In this session you will be walked through how to download and install Xamarin Studio on your Mac.

Downloading Xamarin Studio (Mac)

In this session you will be walked through how to download and install Xamarin Studio on your Windows computer.

Downloading Xamarin Studio (Windows)

An introduction to Xamarin Studio and a few tips to get you started.

Exploring Xamarin Studio

Introduction to some of the common types in F# and an example of how to use them.

Understanding values

This video will introduce you to functions, the fundamental unit of program execution.

Understanding functions

This session explains what a version control system is and why we use Git and Github.

If you do not have an account on then you will need to create one in order to participate on this course.

Understanding Git

In this session we show you how you can access source code on and how you can make changes to the source code and share it.

Using the Git command line

This quiz will test your understanding of the concepts you have been exposed to on the Introduction section.

Test your learning
11 questions

We review what we learnt in this section and give you some ideas on where to go from here.

  1. Explore the FSI a little more and try things out for yourself
  2. Join the F# Gazette on our website FSharp.TV for regular F# news
  3. Explore the F# community and its awesome members
Moving forward
Building spirographs
19 Lectures 02:48:00

Welcome to the second section of this course! In this video, we go over what we'll be doing in this section! Hope you have fun learning F# and figuring out how to create a spirograph generator!

This section is straight forward, with the aim of learning the fundamental concepts of functional programming but it is not by any means the complete functional programming primer. If you have not completed the first section then we advise you to do so first as you may miss out on the important environment setup tips that could help you get started with F# and where we explain where to find the resources throughout the rest of our courses.

Introducing spirographs

Tuples are basic building blocks in F# and it is good to gain understanding of these type now so we can use them in the several following videos.

Discovering tuples

Learn the ins and outs of functions and their basic usage.

Playing with functions

In this lecture we introduce the concepts required for creating bitmaps and saving them as images. We start small but will get more in depth in the following lectures.

Creating bitmaps

We discover the way a pixel can be plotted and hopefully the method employed should make it clear that it is not very practical. This section is designed to make you smile :-)

Plotting pixels

It's hip to be square, in this section we show you how too. Learn how to build instructions to plot pixels using a loop and eventually assign the instructions to a reusable, albeit rudimentary, function.

Creating a square

We begin to flesh out the implementation for our naive line function, focussing on one aspect at a time.

Plotting naive lines

In this video we highlight the need for accurate division, otherwise we end up in situations where are lines are not drawn properly.

Understanding division

Learn how to make our lines draw when starting from a backwards position, this will incrementally improve our line drawing function giving it greater capability.

Drawing lines backwards

Records are a core part of F# and in this section we are introduced to them and start to utilise them in our code.

Introducing records

We start constructing a record to help retain the last position drawn on the bitmap, this enables us to drawn lines relative to other lines and provides a more intuitive set of functions to work with.

Implementing a plotter

In this section we upgrade our functions and add new functions to enable us to turn and move rather than specifying coordinates to plot from and to.

Turning and moving

This lecture will explain how to chain together a series of functions in a more common sense fashion, it also introduces the pipe-forward operator.

Introducing forward piping

In this short video we introduce the fold function so that we are primed for the next series of lectures.

Introducing fold

This section add more capabilities to our set of functions and now we can create shapes using a new polygon function.

Drawing polygons

This lecture introduces you to the sequence expressions that enable us as developers to achieve powerful results typing less code.

Introducing seq expressions

Finally, you can go crazy and build your very own spirograph to share with the world to behold.

Building a spirograph

Building spirographs
15 questions

Well done for getting this far! You now have a good grasp of the concepts of functional programming in F#! We hope you enjoyed this introduction, and we give you a few options regarding what to do next!

Reviewing Spirographs

Well done for completing the introduction to F# programming! Join us on our other courses for more F#!

About the Instructor
Mark Gray
4.4 Average rating
206 Reviews
7,324 Students
3 Courses

I have been a passionate software engineer since 2002 and have worked for companies such as The AA, Volkswagen Financial Services and Compare the Market, to name but a few.

I discovered programming when I was 18 and taught myself web development and Java and then moved into the .NET world in 2003. I now run the Cambridge F# User Group and co-organise the Cambridge DDD Nights User Group, both meet on a monthly basis.

My love of programming has given me the opportunity to experience various programming languages but I have happily settled on F# and I am now a proud sustaining member of the F# Software Foundation.