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