Functional Programming with Origami

Get hands on with Origami and Code examples in C#
Rating: 4.8 out of 5 (4 ratings)
1,039 students
English [Auto]

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


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

Who this course is for:

  • C# developers interested in learning Functional Programming

Course content

9 sections30 lectures45m total length
  • Introduction


Software Developer
Michael Byrd
  • 4.8 Instructor Rating
  • 4 Reviews
  • 1,039 Students
  • 1 Course

I began my journey in computing on a twice-used Intel 8088 desktop computer whilst attending middle school. I still remember reveling in learning the nuances of the DOS command line and experimenting with programming in GW-BASIC.

I have worked in the IT field for over twenty years and have held positions as a Network Engineer and as a Software Developer.  I've earned IT certifications from CompTIA, Microsoft, and Cisco.