Passer au contenu principal
FUN MOOC
  • Actualités
  • Cours
  • FormaPro
  • Établissements
  • À propos
  • FAQ
  • Vous êtes ici:
  • Accueil
  • Cours
  • Introduction to Functional Programming in OCaml

Introduction to Functional Programming in OCaml

Réf. 56002
CatégorieInformatique et programmation
  • Durée : 6 semaines
  • Effort : 24 heures
  • Rythme: ~4 heures/semaine
  • Langues: Anglais

Description

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.

Prérequis

This course will be held in English. To follow this course we expect from you that you have already some basic knowledge of informatics, 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.

Evaluation et Certification

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.

Plan de cours

    • Introduction and overview
    • Basic types, definitions and functions
    • Basic data structures
    • More advanced data structures
    • Higher order functions
    • Exceptions, input/output and imperative constructs
    • Modules and data abstraction

Équipe pédagogique

Roberto Di Cosmo

Catégories

Roberto Di Cosmo is professor of computer science at University Paris Diderot, director of Irill, currently on leave at INRIA.

Yann Regis-Gianas

Catégories

Yann Régis-Gianas teaches computer science at Université Paris-Diderot.

Ralf Treinen

Catégories

Ralf Treinen is professor of computer science at University Paris Diderot.

Établissements

Université Paris Cité

Partners

Licence

Licence pour le contenu du cours

Attribution - Pas d’Utilisation Commerciale - Pas de Modification

Vous êtes autorisé à :

  • Partager — copier, distribuer et communiquer le matériel par tous moyens et sous tous formats

Selon les conditions suivantes :

  • Attribution — Vous devez créditer l'oeuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées à l'oeuvre. Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que l'offrant vous soutient ou soutient la façon dont vous avez utilisé son oeuvre.
  • Pas d’Utilisation Commerciale — Vous n'êtes pas autorisé à faire un usage commercial de cette oeuvre, tout ou partie du matériel la composant.
  • ​​​​​​​Pas de modifications — Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant l'oeuvre originale, vous n'êtes pas autorisé à distribuer ou mettre à disposition l'oeuvre modifiée.

Licence pour le contenu créé par les participants du cours

Tous droits réservés

"Tous droits réservés" est une formalité du droit d'auteur indiquant que le détenteur du droit d'auteur se réserve, ou détient pour son propre usage, tous les droits prévus par la loi sur le droit d'auteur.

FacebookTwitterLinkedin

En savoir plus

  • Aide et Contact
  • A propos de FUN
  • Foire aux questions
  • Boutique en ligne
  • Mentions légales
  • Politique de confidentialité
  • Infolettres
  • Conditions générales d'utilisation
  • Conditions générales de vente
  • Charte utilisateurs
  • Accessibilité : partiellement conforme
  • Plan de site
  • Gestion des cookies
Logo FUN Mooc propulsé par Richie