OCaml Beginner

This 3-day training provides a strong introduction to the use of the OCaml programming language, with a focus on the features that allow developers to get powerful and robust applications rapidely, thanks to OCaml strong type system. The training targets developers that already master another imperative language such as C, C++, Python, C# or Java, and covers both the language and the tooling to use it. During practical workshops, trainees can develop their first OCaml programs on their computers.

Program

Introduction to the OCaml training

  • General introduction and objectives of this OCaml training
  • Main features of the language, advantages and positionning
  • Properties of OCaml (speed, errors, safety) and programming paradigms
Examples of practical use cases: round table, exchanges on the multiple professionnal contexts and prospects of use of the new skills

Introduction to OCaml

  • The Story of OCaml
  • The OCaml Ecosystem

Installing the OCaml Environment

  • Opam, the OCaml package manager
  • Editing tools for OCaml

Development Tools

  • The OCaml interpretor
  • The OCaml compilers (bytecode, native code, javascript)

A Full OCaml Program

  • Rewriting the grep tool in OCaml
  • How to compile and execute a program

How to write and execute a basic program

  • How to invoke OCaml
  • Structure of a program
  • Definitions and expressions
  • Structures of control

Predefined data types

  • Types in OCaml
  • Primitives types
  • Predefined imperative types
  • Predefined functional types

Advanced Control

  • Imperative loops
  • First class functions
  • Pattern-matching on values
  • Exceptions

The Standard Library

  • Primitive types
  • Data structures
  • Input-Output Functions
  • The system interface

Defining new data types

  • Type aliases
  • Records
  • Algebraic types
  • Exceptions again
  • Recursive types
  • Polymorphism

Types in the Standard Library

Deeper in the Type System

  • Type inference
  • The unification algorithm

Next Sessions

    Sessions are organized on demand.

OCaml Beginner

Duration: 3 days Practice: 50%
Price: 2000 EUR/pers. excl. taxes
Pre-requisites
  • Algorithmic
  • Other language
Public
  • Developers
Pedagological Objectives
  • Introduction to the OCaml training
  • Introduction to OCaml
  • Installing the OCaml Environment
  • Development Tools
  • A Full OCaml Program
  • How to write and execute a basic program
  • Predefined data types
  • Advanced Control
  • The Standard Library
  • Defining new data types
  • Types in the Standard Library
  • Deeper in the Type System
Quality Indicators
  • Mean satisfaction score: 18.5/20
  • Success Rate: 100%

Version: December 22, 2022

Pierre Chambart (OCaml)

Pierre est ingénieur R&D chez OCamlPro depuis 2013, après une thèse de doctorat en méthodes formelles et un post-doc sur la programmation web en OCaml. Pierre est membre de la coreteam du compilateur OCaml, spécialisé dans la génération de code optimisé. Pierre est aussi l'un des développeurs principaux de la blockchain Tezos en OCaml.

Vincent Laviron (OCaml)

Vincent est ingénieur R&D chez OCamlPro depuis 2015. Après avoir travaillé sur l'adaptation de techniques d'interprétation abstraite à OCaml, Vincent a rejoint l'équipe travaillant sur Flambda, le compilateur optimisant pour OCaml, et aujourd'hui membre de la coreteam du compilateur OCaml.

Useful Information

Contact

You can contact us using the form on top of every course description, or by email at contact@ocamlpro.com.

Delayed access timeframe

Since our trainings are organised upon request within two months after the first contact, the access timeframe may vary depending on your specific needs and custom training conditions which will all be agreed upon prior to the course.

Registration and course modalities

Our courses may either be done remotely or physically.

Prior to the course:

  • Either a meeting or a survey to identify your needs and expectations.
  • Shipment of administrative papers such as: written agreement, welcome booklet and rules of procedure.
  • Shipment of everything required to guarantee the good conduct of the course: external ressources, and custom instructions alike.

During the course:

  • The attendee goes to the designated location with his/her personal computer.
  • Time slots for our on-site Inter Corporation Trainings are the following:
    • Start - 9:30AM
    • Lunch Break - 12:00PM to 01:00PM
    • End - 05:30PM
  • Evaluations throughout the duration of the course (quizzes, tests and experimentations).

End the course:

  • Presentation of a certificate of training.
  • Auto-evaluation quizz.
  • A hot feedback form on the quality of the course.

After the course:

  • A cold feedback form on your satisfaction (roughly three months after the course)

Methods used and modalities for evaluation

Our courses may welcome a maximum of ten attendees and the number of tutors may vary between one and two depending on the amount of practical tasks in the course.

Parameters such as the number of attendees and their overall skill level will affect pedagogical modalities such as the number of pratical tasks, guided discussions, collaborative development, etc.

Courses may include small projects to develop independently to help consolidate the acquired knowledge.

The ressources are written by the OCamlPro team prior to the courses. Documents are generally written in english and can be translated to french if need be.

We make the progress of our trainees and its evaluation a core aspect of our courses. Indeed, guaranteeing the durable acquisition of the skills at hand is key, especially for the newer comers. To that extent, we will have trainees undergo tailored group works, exercises and hands-on practice which modalities can all be customised to your specific needs.

Accessibility, handicap

Preliminary studies are done prior to every training to guarantee the quality of the course by tweaking the pedagogical modalities and take into consideration any handicap communicated during the first stages of the registration. We are at your disposal to answer your every question and other queries at: contact@ocamlpro

Funding by OPCO and CPF

The funding of the training by the OPCO is possible as OCamlPro has received the Qualiopi certification. The two following conditions must then be attained:

  • The funding must cover all expenses relative to the course.
  • The funding agreement must get to us five days prior to the training session at the latest.

Our trainings do not yet deliver certicates or official qualifications and thus cannot be funded by your personnal CPF.