We may earn an affiliate commission when you visit our partners.
Mark Gray

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,

Read more

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,

  1. 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.
  2. 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.

This course is no longer available. Find a similar course by searching these:
programming languages f# programming data structures f# programming functional programming algorithms

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches the basics of F# and functional programming, making it accessible to beginners
Covers a wide range of topics, including machine learning, predictive text engines, and command line applications
Provides hands-on experience through two F# projects, helping learners apply their knowledge practically
Introduces computer science concepts, encouraging learners to delve deeper into the subject
Future-proofs learning by teaching skills in a language that is at the heart of computer science
Explores Bayes' Theorem, a fundamental concept in machine learning, using real-world data

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Basic functional programming primer

Learners say this course is very good for familiarizing oneself with functional programming. However, they also claim that this course is quite basic.
This course is a good option for beginners who want to learn functional programming.
"Very good course, so far."
"A bit basic, but it helps in familiarising the student with functional programming paradigm."
This course is very introductory.
"Very good course, so far."
"A bit basic, but it helps in familiarising the student with functional programming paradigm."

Activities

Coming soon We're preparing activities for Functional Programming with F#. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Functional Programming with F# will develop knowledge and skills that may be useful to these careers:
Data Engineer
Data Engineers are responsible for designing, building, and maintaining data pipelines. They work with data scientists and other stakeholders to understand the data needs of the organization and develop solutions to meet those needs. This course would be helpful for aspiring Data Engineers because it provides a strong foundation in functional programming, which is increasingly used in data engineering. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for data science.
Data Scientist
Data Scientists use their knowledge of statistics, mathematics, and programming to extract insights from data. They work with data engineers and other stakeholders to develop models and algorithms that can be used to make predictions and decisions. This course would be helpful for aspiring Data Scientists because it provides a strong foundation in functional programming, which is increasingly used in data science. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for data science.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, building, and maintaining machine learning models. They work with data scientists and other stakeholders to understand the business needs and develop models that can meet those needs. This course would be helpful for aspiring Machine Learning Engineers because it provides a strong foundation in functional programming, which is increasingly used in machine learning. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for machine learning.
Software Engineer
Software Engineers are responsible for designing, building, and maintaining software applications. They work with other engineers and stakeholders to understand the business needs and develop solutions that meet those needs. This course would be helpful for aspiring Software Engineers because it provides a strong foundation in functional programming, which is increasingly used in software development. The course also covers topics such as unit testing and command line arguments, which are both important for software development.
Web Developer
Web Developers are responsible for designing, building, and maintaining websites and web applications. They work with other engineers and stakeholders to understand the business needs and develop solutions that meet those needs. This course would be helpful for aspiring Web Developers because it provides a strong foundation in functional programming, which is increasingly used in web development. The course also covers topics such as unit testing and command line arguments, which are both important for web development.
Quantitative Analyst
Quantitative Analysts use their knowledge of mathematics, statistics, and programming to develop models and algorithms that can be used to make investment decisions. This course would be helpful for aspiring Quantitative Analysts because it provides a strong foundation in functional programming, which is increasingly used in quantitative finance. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for quantitative finance.
Actuary
Actuaries use their knowledge of mathematics, statistics, and programming to assess and manage risk. They work with insurance companies and other financial institutions to develop products and services that meet the needs of their customers. This course would be helpful for aspiring Actuaries because it provides a strong foundation in functional programming, which is increasingly used in actuarial science. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for actuarial science.
Financial Analyst
Financial Analysts use their knowledge of mathematics, statistics, and programming to analyze financial data and make investment recommendations. They work with investment banks, hedge funds, and other financial institutions to develop strategies that meet the needs of their clients. This course would be helpful for aspiring Financial Analysts because it provides a strong foundation in functional programming, which is increasingly used in financial analysis. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for financial analysis.
Operations Research Analyst
Operations Research Analysts use their knowledge of mathematics, statistics, and programming to analyze and solve complex problems in a variety of industries. They work with businesses and organizations to develop solutions that improve efficiency, productivity, and profitability. This course would be helpful for aspiring Operations Research Analysts because it provides a strong foundation in functional programming, which is increasingly used in operations research. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for operations research.
Statistician
Statisticians use their knowledge of mathematics, statistics, and programming to collect, analyze, and interpret data. They work with businesses, organizations, and governments to provide insights that can help them make better decisions. This course would be helpful for aspiring Statisticians because it provides a strong foundation in functional programming, which is increasingly used in statistics. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for statistics.
Computer Scientist
Computer Scientists design, develop, and implement computer software and systems. They work with a variety of businesses and organizations to create solutions that meet their specific needs. This course would be helpful for aspiring Computer Scientists because it provides a strong foundation in functional programming, which is increasingly used in computer science. The course also covers topics such as unit testing and command line arguments, which are both important for computer science.
Data Analyst
Data Analysts use their knowledge of mathematics, statistics, and programming to analyze data and extract insights. They work with businesses and organizations to help them make better decisions. This course would be helpful for aspiring Data Analysts because it provides a strong foundation in functional programming, which is increasingly used in data analysis. The course also covers topics such as machine learning and Bayes' Theorem, which are both important for data analysis.
Software Developer
Software Developers design, develop, and implement software applications. They work with a variety of businesses and organizations to create solutions that meet their specific needs. This course would be helpful for aspiring Software Developers because it provides a strong foundation in functional programming, which is increasingly used in software development. The course also covers topics such as unit testing and command line arguments, which are both important for software development.

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser