We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Functional Programming

An interactive online course

Functional programming is back in vogue. There's a reason front-end frameworks like React and Vue are moving toward functional programming, and after this course you'll more than understand its benefits. We'll dive in-depth into all of the foundational concepts of functional programming in a familiar language, Python!

22 Hours

of material

null challenges

and quizzes


of completion

A key part of the

back-end career path

Avoid tutorial hell

by writing a ton of code

Learn flexibly online

without interrupting your life

What will you learn?

Chapter list

What is Functional Programming?
Learn about the difference between OOP and functional styles, and what the real difference is: imperative vs declarative
First Class Functions
First class and higher order functions are foundational to everything we do in the functional paradigm
Pure Functions
My favorite part of functional programming is the focus on pure functions that are easy to test and reason about
While not unique to functional programming, recursion is a powerful tool that is used often when trying to avoid imperative code
Function Transformations
Learn how to transform functions into other functions to write more abstract and generalized code
Learn about encapsulating state within functions and how to use closures to write more expressive code
Learn to transform a function with multiple parameters into a series of functions with one parameter, and why you might want to do that
Learn about Python's decorators and how they're essentially syntactic sugar for higher order functions
Sum Types
Learn about sum types, a powerful way to represent data that is used in many functional languages

Authored by

Maintained by