Functional Programming in TypeScript
Master functional programming with TypeScript's type system. Write typed pure functions, generic functors, typed monads, and compose type-safe pipelines. 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 · advanced level
What you will learn
Build practical skills in TypeScript, Functional Programming, Generics, Types 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 in TypeScript 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 with JSDoc Types, Typed Immutability, Generic Map, Typed Predicates and Filter, Generic Reduce.
- Pure Functions with JSDoc Types
- Typed Immutability
- Generic Map
- Typed Predicates and Filter
- Generic Reduce
Unit 2: Core Concepts
30 lessons covering topics such as Power Up 031: Typed Either<L, R> — Error Handling, Power Up 032: Typed Lazy Evaluation with Generators, Power Up 033: Typed Point-Free Style, Power Up 034: Typed Transducers, Power Up 035: Typed Monoids and Semigroups.
- Power Up 031: Typed Either<L, R> — Error Handling
- Power Up 032: Typed Lazy Evaluation with Generators
- Power Up 033: Typed Point-Free Style
- Power Up 034: Typed Transducers
- Power Up 035: Typed Monoids and Semigroups
Unit 3: Building Skills
30 lessons covering topics such as Power Up 061: Pure Functions with JSDoc Types, Power Up 062: Typed Immutability, Power Up 063: Generic Map, Power Up 064: Typed Predicates and Filter, Power Up 065: Generic Reduce.
- Power Up 061: Pure Functions with JSDoc Types
- Power Up 062: Typed Immutability
- Power Up 063: Generic Map
- Power Up 064: Typed Predicates and Filter
- Power Up 065: Generic Reduce
Unit 4: Applied Practice
30 lessons covering topics such as Power Up 091: Typed Either<L, R> — Error Handling, Power Up 092: Typed Lazy Evaluation with Generators, Power Up 093: Typed Point-Free Style, Power Up 094: Typed Transducers, Power Up 095: Typed Monoids and Semigroups.
- Power Up 091: Typed Either<L, R> — Error Handling
- Power Up 092: Typed Lazy Evaluation with Generators
- Power Up 093: Typed Point-Free Style
- Power Up 094: Typed Transducers
- Power Up 095: Typed Monoids and Semigroups
Unit 5: Projects
30 lessons covering topics such as Power Up 121: Pure Functions with JSDoc Types, Power Up 122: Typed Immutability, Power Up 123: Generic Map, Power Up 124: Typed Predicates and Filter, Power Up 125: Generic Reduce.
- Power Up 121: Pure Functions with JSDoc Types
- Power Up 122: Typed Immutability
- Power Up 123: Generic Map
- Power Up 124: Typed Predicates and Filter
- Power Up 125: Generic Reduce
Unit 6: Mastery
30 lessons covering topics such as Power Up 151: Typed Either<L, R> — Error Handling, Power Up 152: Typed Lazy Evaluation with Generators, Power Up 153: Typed Point-Free Style, Power Up 154: Typed Transducers, Power Up 155: Typed Monoids and Semigroups.
- Power Up 151: Typed Either<L, R> — Error Handling
- Power Up 152: Typed Lazy Evaluation with Generators
- Power Up 153: Typed Point-Free Style
- Power Up 154: Typed Transducers
- Power Up 155: Typed Monoids and Semigroups