Best Free Functional Programming Courses

Find the best online Free Functional Programming Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings.

Learn to Program in Javascript: Beginner to Pro

Don't just be a good programmer, become a great one, because that is what matters.

Created by Raghavendra Dixit - Dizauvi Learning Solutions


Students: 176133, Price: Free

Javascript is the language of the web. So if you want to become a web developer, Javascript is a must learn language. This is an in-depth course which teaches seemingly difficult concepts like functional programming in a easy to understand way. Along the course, we also compare Javascript with other languages like Java, so that people having some experience with a language like C, Java or C#, which are statically typed languages, can easily understand how to write good Javascript programs.

Javascript has been notorious when it comes to finding bugs in the program. This course also talks about some pitfalls in the language which should be avoided, so that you have a much easier time writing code and debugging in this language.

Java 8 Functional Programming: Lambda Expressions Quickly

Get up and running with Java lambdas confidently - in conceptual, practical and intuitive manner - in 30 minutes

Created by Sanjay Patel - Software Architect And Developer


Students: 33200, Price: Free

This is a very rapid course on Java 8 functional programming.

Functional programming has been the most important of all Java 8 new features. Using Java 8 functional programming, we can now code many things much faster than before, in a concisefluent and readable manner. But, unless you learn those functional programming features properly, getting used to those becomes a bit confusing. So, in this course, we are going to grasp how to do functional programming in an intuitive and conceptual manner, very rapidly. We'll learn each feature with simple and crisp examples, which'll be very brief but quite informative.

This course is actually part I of a two-part course. It covers about Java Lambdas, e.g. lambda expressions, method references, composing lambda expressions etc. The next part, which is coming soon, will be about Streams. You'll find link to that in the resources section of the last lesson.

We've done some practical exercises in the lessons here, and the links to the source codes are available in the resources section.

An Introduction to Python Programming

Learn the Fundamentals of Procedural, Object-Oriented, and Functional Programming in Python.

Created by Rishi Desai - Course Instructor


Students: 20011, Price: Free

In this course, you will learn introductory Python programming constructs. You will be exposed to all of the fundamental constructs of programming such as loops, data structures, and operators. You will learn procedural programming first to develop a strong basis of computational logic. Then, you will learn Object-Oriented Programming (OOP) and functional programming. Altogether, this course will unlock the doors to learn GUI development, conduct computer science research, and begin website development in Python.

Lambda Expressions -> Java

Learn Lambda Expression, Functional Programming, Functional Interface, Predefined Functional Interfaces

Created by Java Fast Forward JFF - Instructor


Students: 15331, Price: Free

  • Do you want to learn Functional Programming in Java

  • Do you want to learn Lambda Expressions in Java 8?

  • Do you want to make a Great impression on your Code Reviewer/Manager/Lead ?

  • Do you want to perform well in Java Interview?

  • Do you want to reuse predefined Functional Interfaces

This is the right course for you !!

                                                               What are you waiting for?

Elixir Programming for Beginners

Learn basics of functional programming in an hour

Created by Aditya Giri - Freelace Programmer


Students: 5225, Price: Free

Hi. I am Aditya.

tl;dr This course is for anyone interested in jumping into Elixir Programming Language without any prior or little knowledge of programming. By the end of this course, you'll have enough knowledge to read and understand basic elixir code. I do not claim that you'll be able to write full-fledged software with this information, but it'll be enough for you to get to write a pretty simple entry-level program in elixir.

What will you learn in this course?

You will learn about complete basics of Elixir Programming Language, including topics like:

  1. IEx (Interactive Elixir)

  2. Data Types

  3. Atoms

  4. Pattern Matching

  5. Immutability

  6. and more...

Who should take this course?

This course is suitable for anyone with little to no programming experience. If you want to dive straight into programming world with Elixir, this course is ideal for you.

What do I need to take this course?

To take this course, all you need is a computer with active internet connection. The rest will be described in the course.

Please note this before you take the course -

  1. This course was originally intended for my YouTube channel, but since a lot of people search for courses on Udemy too, I am publishing this here as well.

  2. This is the first two chapter of the course that is 6 chapters long. Rest of the chapters will be added on Udemy soon.

Learn Julia Step by Step from Scratch

Learn Functional Programming Quickly

Created by Anjali Singh - Functional Programming Expert


Students: 3341, Price: Free

Julia is a high-performance dynamic programming language for
scientific and technical computing. It combines the simplicity of Python
with a more sophisticated compiler and many small improvements that
make the platform easier to use and better suited for numerical

Julia is a new homo iconic functional language focused on technical
computing. While having the full power of homo iconic macros,
first-class functions, and low-level control, Julia is as easy to learn
and use than most programming languages.

Most importantly, Julia is a lot of fun! This is a Step by Step Hands
on Julia programming course. Functional Programming Languages are the
Languages of Future. Julia is developed at MIT and is officially being
taught at reputed Universities.

In this course, you will not only learn a powerful programming
language taught in likes of MIT and Stanford, but also inculcate
practical programming techniques and habits. This will help you become a
good programmer and problem-solver, aiding you to learn other
functional languages as well.

We have trained thousands of students in Functional Languages and our
training approach has been immensely praised by everyone. This course
is an ever growing course and would be updated regularly.

Advanced JavaScript Development

We’ll cover functional programming, debugging techniques, and object-oriented programming.

Created by RefactorU LLC - Accelerates the learning of aspiring creative technologists.


Students: 2365, Price: Free

In this course we'll examine advanced techniques in JavaScript. We’ll first look at the difference between statements and expressions and how functional programming can improve the way that we write code.

We’ll also look at Underscore, which is a library for providing utility, functional methods for us to use in our applications. We’ll also cover object-oriented programming in JavaScript. We’ll cover different ways to create classes and how to utilize them in our applications in JavaScript.

Finally, we’ll take a look at some of the different debugging techniques and tactics that we can use to help minimize the amount of time we spend debugging our applications. Let’s get started.

Course Includes:

  • 21 videos with over 60 minutes of lectures and explanations.
  • 5 external resource files.
  • 11 exercises to help you master advanced JavaScript concepts and techniques.

What You'll Learn:

  • Statements vs. Expressions
  • If vs Ternary
  • Functional Programming
  • Map
  • Filter
  • Underscore
  • Debugging
  • Phases
  • Strategies
  • Tips
  • Tools
  • Prevent
  • Object Oriented JavaScript
  • Inheritance
  • Additionaln
  • Exercises
  • And More!

Fundamentals of Functional JavaScript

Want deepen your knowledge in Functions & Functional programming? This course is for you!

Created by Leonardo Moura Leitao - Arquiteto de Software


Students: 1617, Price: Free

Hello, and welcome to our Foundational JavaScript Function Programming Course! I’m Arthur Bandeira, and I’ll be your instructor in this concise, but informative curriculum that will introduce you to the core concepts of JavaScript Functions.

In this course, we’ll cover topics and subjects that are of essential importance to every developer.

Since the advent of the procedural model, Functions have had a prominent role in software development, even to the extent of having a whole programming paradigm that revolves around them, which is known as Functional Programming.

The concepts are presented here through one of the most popular programming languages in the world —Javascript—  and can be applied just as effectively to any object-oriented or multi-paradigm language.

We will cover some of the main concepts in Functional Programming and thoroughly explore the idea of Function and its practical applications, such as High-order and First-class Functions, as well as learn highly important methods like Map, Filter and Reduce.

In addition to all this free content, we included several challenges with their respective answers to further enhance your learning experience.

So,  if you are interested in deepening your knowledge of JavaScript Functions and Functional Programming, this is the right course for you.

Using UFT Developer for Web Apps (Visual Studio and Csharp)

Shift-left functional testing using standard programming languages, IDEs, and testing frameworks of choice

Created by Amir Khan - Making DevOps a reality with ALM Octane


Students: 791, Price: Free

UFT Developer helps you develop automated tests for a wide range of technologies, using standard IDEs with modern programming languages. UFT Developer requires familiarity with the basics of programming in the language you use to develop your tests.

Requirements prior course:

  • Install the UFT Developer runtime engine on any machine where you want to run UFT Developer tests.

  • Install one or more supported IDEs and the relevant UFT Developer plugins on any machine where you want to write and edit UFT Developer tests.

In this course, you will learn how to use UFT Developer for Csharp (C#) using Visual Studio and MsTest as testing framework.

In the IDE of your choice, create a UFT Developer testing project, use UFT Developer to create test object descriptions and write tests that can perform operations on your applications.

Create a testing project

Create a UFT Developer testing project in the IDE of your choice, using the project templates provided with the UFT Developer plugins or use your own custom framework.

Customize your test settings

Customize the UFT Developer runtime server settings and report options.

Define test objects

Create test object descriptions that enable UFT Developer to identify the objects in your application and can withstand changes in the application you’re testing.

Write programmatic descriptions or use the visually oriented tools that UFT Developer offers to provide an interface to the tested application and its objects.

Write tests

After you create test object descriptions, write automated tests whose steps call the methods and properties of these UFT Developer test objects.

Add code to verify application behavior

Verify that the objects in your application look and behave as you expect.

When these special steps return false results, the step and test fail, but no exception is thrown and your test continues to run.

This course will cover the following:

  • Build Application Models

  • Create Test Scripts

  • Running Test Scripts

  • Calculation and custom checkpoints

  • Output Values and Parametrization

  • Data Driven Testing

  • Screen Recorder

  • Using Reporter Object

  • Working with Test Recorder

  • Summary

Upon successful completion of this course, you will be eligible to:

  • be more productive

  • better collaborate

  • use agile methodologies in a smarter way

  • support the software delivery lifecycle

  • take on lead roles in your projects and advance in your career

Functional Programming with Origami

Get hands on with Origami and Code examples in C#

Created by Michael Byrd - Software Developer


Students: 336, Price: Free

Welcome to the course Functional Programming with Origami,

  • I took my inspiration for creating this course by remembering how one learns as a child. Whether it was learning to count on your fingers or the realization of symmetry, one comes to by building things with toy blocks.

  • The origami examples in this course are designed to help you understand what is being demonstrated via the code examples both visually and tactilely.

  • There are many code examples in this course written in C#, with each module’s examples building on the previous.

  • The core of this course centers around the types List, Option, and Either, you’ll learn what these types model and how they add an “effect” to other types.

  • The functions Return, Map and Bind are demonstrated in numerous code examples, and you’ll see how they can be “composed” and used together.

  • You’ll learn the difference between Total and Partial Functions and how to turn Partial Functions into Total Functions .

  • At the crescendo of this course, the “patterns” Functor and Monad are unveiled and explained in simple and easy to understand terms.

  • Toward the end of the course, you’ll be given links to several resources to help you continue your functional programming journey.