Functional Programming with Origami

Get hands on with Origami and Code examples in C#

Welcome to the course Functional Programming with Origami,

What you’ll learn

  • Elements of Functional Programming.
  • Functors and Monads.
  • Return, Map, Bind, and Pipe.
  • Partial and Total Functions.
  • Effectual Types.

Course Content

  • Introduction –> 1 lecture • 2min.
  • List –> 6 lectures • 8min.
  • Option –> 7 lectures • 14min.
  • Either –> 7 lectures • 9min.
  • Option and Either –> 5 lectures • 8min.
  • Functor and Monad –> 1 lecture • 1min.
  • Where to go from here? –> 1 lecture • 1min.
  • Why Functional Programming? –> 1 lecture • 1min.
  • End –> 1 lecture • 1min.

Functional Programming with Origami

Requirements

  • C# experience.
  • LINQ experience.
  • Visual Studio 2019.
  • Windows 10.

Welcome to the course Functional Programming with Origami,

 

  • I took my inspiration for creating this course by remembering how one learns as a child. Whether it was learning to count on your fingers or the realization of symmetry, one comes to by building things with toy blocks. 
  • The origami examples in this course are designed to help you understand what is being demonstrated via the code examples both visually and tactilely. 
  • There are many code examples in this course written in C#, with each module’s examples building on the previous. 
  • The core of this course centers around the types List, Option, and Either, you’ll learn what these types model and how they add an “effect” to other types. 
  • The functions Return, Map and Bind are demonstrated in numerous code examples, and you’ll see how they can be “composed” and used together. 
  • You’ll learn the difference between Total and Partial Functions and how to turn Partial Functions into Total Functions . 
  • At the crescendo of this course, the “patterns” Functor and Monad are unveiled and explained in simple and easy to understand terms. 
  • Toward the end of the course, you’ll be given links to several resources to help you continue your functional programming journey.