This course is 1 hour 35 minutes long, and it’s split into 13 lessons in total. You’ll find it’s a great resource that you will come back to often, so make sure you bookmark the parts that interest you.
Who Is This FREE Course For?
- Complete beginners who want to be web developers
- Experienced developers who want to explore advanced topics
- Programming enthusiasts who enjoy learning something new and exciting
Follow Along, Learn by Doing
Watch video lesson [0:00:00] ↗
By the end of this course, you will understand concepts like:
- first-class functions
- composing functions
- how to work with the DOM in a functional way
Watch video lesson [0:01:53] ↗
Let’s get our development area set up and ready for coding! In this lesson, I’ll show you how.
2. Basic Concepts
Watch video lesson [0:07:10] ↗
Watch video lesson [0:12:53] ↗
Functional programming takes a declarative approach to writing code. It's a common (and very trendy) way of writing code. We'll examine declarative programming and compare it to imperative programming in this lesson.
Pure and Impure Functions
Watch video lesson [0:17:47] ↗
There are two types of functions in functional programming: pure and impure. You'll learn the difference between the two in this lesson.
Watch video lesson [00:21:27] ↗
We typically work with immutable data in functional programming. It may seem like more work to program immutably, and inefficient to boot, but there are benefits to using immutable data. You'll learn why in this lesson.
3. Building a Functional Project
Watch video lesson [00:27:18] ↗
One key aspect of functional programming is the concept of composition: composing multiple functions into one. You'll learn the two types of composition in this lesson.
Watch video lesson [00:34:28] ↗
Now that you know the types of composition, we'll compose multiple functions together to build an HTML element.
Watch video lesson [00:41:11] ↗
Currying can be a difficult concept to grasp at first, but it is extremely powerful and lets us create partial functions.
Writing a Functional Web App
Watch video lesson [00:48:12] ↗
Most of the code we've written just creates helper functions. In this lesson, we'll start writing our application code to display messages on the page.
Watch video lesson [00:56:53] ↗
Handling events in a functional way is not very different from the procedural way, except now we curry our event setup functions. I'll show you how to do that so we can complete our application in this lesson.
For further reading:
4. Working With Arrays
Watch video lesson [1:05:29] ↗
Watch video lesson [1:16:11] ↗
It's very common to want to filter an array into a smaller set of data. In this lesson, you'll learn how with the
Watch video lesson [1:22:18] ↗
reduce() operation is very useful, and you'll learn how it works and how to apply it in this lesson.
For further reading on this topic, take a look at these two articles:
Watch video lesson [1:32:15] ↗