OCaml MOOC, third edition

Learn functional programming with the OCaml programming language

Registrations are open!

Functional programming is attracting interest from a broad range of
developers because it allows to write expressive, concise and elegant

The course “Introduction to Functional programming using the OCaml
language” introduces gradually the central notions of functional
programming, via a set of video courses that are complemented by a
rich set of interesting exercises that you can perform fully in your
browser… Yes, this means you can start learning functional
programming without any hassle: nothing to install, nothing to tune
up! The programming environment is just one click away!

During the course, you will discover powerful mechanisms that allow to
build and manipulate complex data structures in a clean and efficient way.
And you will see how functions play a central role, as first-class values
that can be freely used in any place where an expression can appear.

Registrations are already open at

The course will start on September 17th 2018, and will run for six weeks.

Your expected effort is between 2 and 6 hours per week, depending on your
background, including the time spent watching the short video sequences
of the course, that total approximately an hour per week.

This may seem a significant effort, but at the end of the course you will
have actually learned a lot: the final programming project will confirm
that you acquired a good mastery of functional programming and the ability
to develop medium sized programs with ease.

Thousands of learners attended the first two runs of this course in
2015 and 2016, and the many that completed it were extremely

To introduce you to functional programming, we have chosen to use the
OCaml programming language. OCaml is a rich, elegant, efficient programming
language that reconciles the conciseness and flexibility of untyped
programming languages (like Python, for example) with the safety of
strongly typed programming languages (like Java, for example), and that has
a vibrant user community.

Facebook, Microsoft, JaneStreet, Bloomberg are some big names in
industry that adopted OCaml to develop cutting edge applications. The
research community uses OCaml for writing tools like the proof
assistant Coq, the Coccinelle program transformer, the Frama-C code
analyser, or the Astree static analyser. Several start ups use OCaml
to obtain tenfold gains in productivity and stability of their code
base. Recently, Tezos, one of the most innovative blockchains, has
developed its entire software stack using OCaml to get high insurance
about the execution of smart contracts.

Once you have started mastering functional programming using OCaml, we are
sure that other programming languages will never look the same to you

This course will be held in English, but subtitles are already available
in English, in Portuguese and in French.


To take full advantage of this course you should have already some basic
knowledge of computer programming, in particular you should already know
how to write simple computer programs in some programming language. For
instance, you should know concepts like variables (or identifiers),
functions (or procedures, methods), conditionals, and loops.


Hello @yurug ,

Thanks for the nicely designed course, I was able to finish the course contents and on the path to finish all the exercises (though interrupted multiple times due to personal issues but I was committed to finish it and start developing an MVP with OCaml), but recently I found out that I’m no longer able to evaluate newly solved exercises, It was a sad moment for me when I learned that!

Are you planning to open it for registration in near future?


There is unfortunately no plan for a new session of the MOOC. We are currently working on a website to make these resources available freely and permanently.



Hi! I was recommended your course to learn functional programming. Where can I find the content of this course?