Functional Programming

Master functional programming in JavaScript. You'll learn pure functions, immutability, higher-order functions, composition, currying, and functional patterns that make code more predictable and testable. Follow the ideas in small steps: first understand the concept, then practice it in the browser, and finally connect it to a realistic coding problem. Each lesson builds on the previous one so the track becomes a skill you can explain and use, not just a list of terms.

180 interactive lessons across 6 units · 36+ hours · intermediate level

What you will learn

Build practical skills in Functional, Immutability, Composition, Higher-Order Functions through browser-based coding exercises, guided feedback, unit quizzes, a debugging challenge, and a final project.

Course access

Unit 1, including its first 30 lessons and unit quiz, is free. The remaining 5 units require a CodeLearning365 Pro subscription.

View Pro access options

Functional Programming curriculum

The curriculum progresses from foundations to applied practice and mastery. Representative topics from every unit are listed below.

Unit 1: Foundations

30 lessons covering topics such as Pure Functions, Immutability, Map, Filter, Reduce.

  • Pure Functions
  • Immutability
  • Map
  • Filter
  • Reduce

Unit 2: Core Concepts

30 lessons covering topics such as Power Up 031: Either — Error Handling, Power Up 032: Lazy Evaluation, Power Up 033: Point-Free Style, Power Up 034: Transducers, Power Up 035: Monoids and Semigroups.

  • Power Up 031: Either — Error Handling
  • Power Up 032: Lazy Evaluation
  • Power Up 033: Point-Free Style
  • Power Up 034: Transducers
  • Power Up 035: Monoids and Semigroups

Unit 3: Building Skills

30 lessons covering topics such as Power Up 061: Pure Functions, Power Up 062: Immutability, Power Up 063: Map, Power Up 064: Filter, Power Up 065: Reduce.

  • Power Up 061: Pure Functions
  • Power Up 062: Immutability
  • Power Up 063: Map
  • Power Up 064: Filter
  • Power Up 065: Reduce

Unit 4: Applied Practice

30 lessons covering topics such as Power Up 091: Either — Error Handling, Power Up 092: Lazy Evaluation, Power Up 093: Point-Free Style, Power Up 094: Transducers, Power Up 095: Monoids and Semigroups.

  • Power Up 091: Either — Error Handling
  • Power Up 092: Lazy Evaluation
  • Power Up 093: Point-Free Style
  • Power Up 094: Transducers
  • Power Up 095: Monoids and Semigroups

Unit 5: Projects

30 lessons covering topics such as Power Up 121: Pure Functions, Power Up 122: Immutability, Power Up 123: Map, Power Up 124: Filter, Power Up 125: Reduce.

  • Power Up 121: Pure Functions
  • Power Up 122: Immutability
  • Power Up 123: Map
  • Power Up 124: Filter
  • Power Up 125: Reduce

Unit 6: Mastery

30 lessons covering topics such as Power Up 151: Either — Error Handling, Power Up 152: Lazy Evaluation, Power Up 153: Point-Free Style, Power Up 154: Transducers, Power Up 155: Monoids and Semigroups.

  • Power Up 151: Either — Error Handling
  • Power Up 152: Lazy Evaluation
  • Power Up 153: Point-Free Style
  • Power Up 154: Transducers
  • Power Up 155: Monoids and Semigroups

Compare all coding tracks