Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

France Université Numerique

Introduction to Functional Programming in OCaml

Paris Diderot University via France Université Numerique

This course may be unavailable.



Functional programmingis a programming paradigm which is rapidly attracting interest from a broad range of developers because it allows to write expressive, concise and elegant programs.

In this MOOC you will learnFunctional programmingusing theOCamlprogramming language.You will discover the powerful mechanisms that are offered to build and manipulate complex data structures in a clean and efficient way. And you will see howfunctionsplay a central role, asfirst-class valuesthat can be freely used in any place where an expression can appear.

TheOCamlprogramming language is a member of the ML language family pioneered by Robin Milner. An important feature of OCaml is that it 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). The OCaml compiler performs in fact atype inference. Types of identifiers do not have to be declared but are inferred by the compiler at the moment of definition of an identifier, and then used for assuring type correctness when using an identifier.

We will start by using OCaml as a purely functional programming language. At the end of this MOOC we will see that OCaml is in fact a multi-paradigm language which allows you to combine the functional programming style with the imperative programming paradigm.


Plan de cours

  • Week 0
    • Introduction and overview
  • Week 1
    • Basic types, definitions and functions
  • Week 2
    • Basic data structures
  • Week 3
    • More advanced data structures
  • Week 4
    • Higher order functions
  • Week 5
    • Exceptions, input/output and imperative constructs
  • Week 6
    • Modules and data abstraction

Taught by

Ralf Treinen, Yann Régis-Gianas and Roberto Di Cosmo


4.8 rating, based on 4 Class Central reviews

Start your review of Introduction to Functional Programming in OCaml

  • To quote Wikipedia "OCaml unifies functional, imperative, and object-oriented programming under an ML-like type system. Thus, programmers need not be highly familiar with the pure functional language paradigm to use OCaml. " The language has some o…
  • Anonymous
    This If you're interested in learning the basis of functional programming in OCaml, I would recommand to take this MOOC ! The content is clear.
  • Kuronosuke

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.