Pragmatic Functional Programming with TypeScript
25
People
3
Days
About Course
Functional Programming is not merely a coding style; it is a way of thinking that enables better program structure—especially as systems grow in size and complexity.
In this three-day course, participants will go beyond learning surface-level concepts such as map, flatMap, or pipe. Instead, they will explore why these abstractions exist, through the lens of foundational yet accessible mathematical concepts such as Category Theory, Groups, and Type Classes, and apply them in practice using TypeScript and Effect-TS.
The course is designed to bridge the gap between theory and real-world application, helping developers build a deeper and more principled understanding of Functional Programming that can be applied to production code.
What you will learn:
- A review of core Functional Programming concepts
- Types, Function
- Function Composition
- Option, Either, and Algebraic Data Types (ADT) with pattern matching
- Category Theory fundamentals (Category Theory 101)
- Type, Kind, and Type Classes
- Functor and Monad
Course highlights:
- No prior knowledge of OOP or Functional Programming required.
- All examples are implemented using TypeScript and Effect
- Daily hands-on workshops and practical exercises
If you have ever wondered “What exactly is a Functor?”, “Is a Monad more than just complicated code?”, or wanted to truly understand the meaning of * -> *, this course is designed for you.
Instructor
Olarn Ungumnuayporn
Enabler
Prerequisite
- TypeScript
- Jest Unit Test (Optional)
Who this course is for ?
- Software Developer