MOOCs gratuits : catalogue de cours en ligne ouverts et massifs

MOOC Introduction to functional programming in OCaml

Inscriptions ouvertes jusqu'au 25 novembre 2016

In this MOOC you will discover the power of Functional Programming, using the OCaml language to write concise, efficient and elegant programs.

MOOC sur FUN-MOOC - du 26.09.16 au 12.12.2016
Auteur(s): Roberto Di Cosmo, Yann Régis-Gianas, Ralf Treinen

Présentation du MOOC Introduction to functional programming in OCaml

Informations pratiques sur le MOOC

  • Type: MOOC, cours en ligne
  • Temps d'apprentissage: 6 semaines
  • Niveau: bon niveau en programmation
  • Durée: 02:00h/semaine
  • Langues: anglais
  • Contenu: vidéos
  • Public cible: Apprenants
  • Document: Document HTML
  • Age attendu: 18 et +
  • Droits: Licence Creative Commons BY NC ND

Description du MOOC

Functional programming is 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 learn Functional programming using the OCaml programming 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 how functions play a central role, as first-class values that can be freely used in any place where an expression can appear.

The OCaml programming 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 a type 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 du MOOC

  • 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

Évaluation

Each course sequence, except those of the introductory week, will be completed by a series of small programming exercises. You will do your exercises directly in your web browser, and the correctness of your answer will be automatically assessed by the system.

At the end of the course you will have to complete a small programming project in order to obtain the certificate of attendance.

Informations pédagogiques

Public

  • Public visé : Everybody.
  • Pré-requis : This MOOC will be held in English.To follow this MOOC we expect from you that you have already :
    • some basic knowledge of informatics
    • 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
      • loops

Objectif pédagogique du MOOC

  • Objectif : In this MOOC you will learn Functional programming using the OCaml programming 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 how functions play a central role, as first-class values that can be freely used in any place where an expression can appear.

Édition et diffusion du MOOC Introduction to functional programming in OCaml

Édition

Diffusion

Conditions d'utilisation :

  • Du cours : Licence Creative Commons BY NC ND : The user must include the name of the author, it can exploit the work except in a commercial context and can not make any changes to the original work.
  • Du contenu produit par les internautes : restrictive license. Your production remains your intellectual property and can therefore not be reused.
Publication : 19.07.2016