FUN

Introduction to Functional Programming in OCaml (FUN)

Introduction to Functional Programming in OCaml (FUN)

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 course you will discover the power of Functional Programming, using the OCaml language to write concise, efficient 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.

Course Schedule

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

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

Related Courses

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Sep 14th 2026
5-12 Weeks
Introduction to Software, Programming, and Databases (Coursera) Coursera
IBM

Introduction to Software, Programming, and Databases (Coursera)

There are many types of software and understanding software can be overwhelming. This course aims to help you understand more about the types of software and how to manage software from an information technology (IT) perspective. This course will help you understand the basics of software, cloud computing, web browsers, development and concepts of software, programming languages, and database basics.

Sep 14th 2026
5-12 Weeks
Fondamentaux pour le Big Data (FUN) FUN
Institut Mines-Telecom

Fondamentaux pour le Big Data (FUN)

Le MOOC « Fondamentaux pour le big data » permet d'acquérir efficacement le niveau prérequis en informatique et en statistiques pour suivre des formations dans le domaine du big data. Le big data offre de nouvelles opportunités d’emplois au sein des entreprises et des administrations. De nombreuses formations préparant à ces opportunités de métiers existent. Le suivi de ces formations nécessite des connaissances de base en statistiques et en informatique que ce MOOC vous propose d’acquérir dans les domaines de l’analyse, algèbre, probabilités, statistiques, programmation Python et bases de données.

No sessions available
5-12 Weeks
ABC du langage C (FUN) FUN
Institut Mines-Telecom

ABC du langage C (FUN)

Ce MOOC dure 3 semaines. Il est le premier volet du parcours Le Langage C de A à Z. Vous souhaitez apprendre à programmer en C mais vous n'y connaissez rien ? Ce MOOC s'adresse aux débutants et aux personnes qui n'ont jamais écrit une seule ligne de code de leur vie ! Le langage C est partout dans notre quotidien : smartphones, consoles de jeux, transports, robotique, objets connectés,... Les exemples sont innombrables tant le langage C est universel et populaire depuis sa création il y a des décennies.

No sessions available
3 Weeks
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Sep 14th 2026
4 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Sep 14th 2026
5-12 Weeks
Programmation objet immersive en Pharo / Live Object Programming in Pharo (FUN) FUN
INRIA

Programmation objet immersive en Pharo / Live Object Programming in Pharo (FUN)

Que vous soyez un débutant ou un expert en programmation orientée objet, ce MOOC va changer votre façon de penser objet : venez apprendre ou redécouvrir la programmation objet avec Pharo ! If you are either a beginner or an expert in object-oriented programming, this MOOC will change the way you program with objects: come and learn or rediscover object-oriented programming with Pharo!

No sessions available
5-12 Weeks
Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera)

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

Sep 14th 2026
5-12 Weeks
Programmer en C (FUN) FUN
Institut Mines-Telecom

Programmer en C (FUN)

Ce MOOC est le deuxième volet du parcours Le Langage C de A à Z. Chaque jour, nous interagissons avec des centaines de micro-processeurs. Intégrés dans nos smartphones, vélos, jouets ou robots, ils nous accompagnent au quotidien. Pour écrire des programmes pour ces micro-processeurs, la référence est le langage C couplé à Linux, un système d’exploitation open-source. En suivant ce MOOC, vous comprendrez comment fonctionnent les objets qui nous entourent et pourrez vous préparer aux métiers de demain.

No sessions available
3 Weeks
Programming for Everybody (Getting Started with Python) (Coursera) Coursera
University of Michigan

Programming for Everybody (Getting Started with Python) (Coursera)

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course.

Sep 7th 2026
5-12 Weeks
Socle en Informatique (FUN) FUN
le cnam

Socle en Informatique (FUN)

Le numérique et l'informatique ont une importance toujours croissante tant dans le monde professionnel que dans la vie courante. Maitriser les bases du domaine est donc un enjeu important. La proposition de ce socle en informatique est de centrer l'initiation à l'informatique sur les algorithmes et les programmes. Il s'adresse aussi bien aux débutants, qu'aux faux débutants qui ont déjà des notions mais vagues ou lointaines et aux initiés qui ne se sentent pas sûr d'eux-mêmes et souhaitent consolider leurs connaissances.

No sessions available
5-12 Weeks