Skip to content

Instantly share code, notes, and snippets.

@yurug
Last active January 22, 2023 05:49
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save yurug/406b1cf63f083fd6aab76fb646aa3e39 to your computer and use it in GitHub Desktop.
Save yurug/406b1cf63f083fd6aab76fb646aa3e39 to your computer and use it in GitHub Desktop.

Learn functional programming with the OCaml programming language

Registrations are open!

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

The course "Introduction to Functional programming using the OCaml language" introduces gradually the central notions of functional programming, via a set of video courses that are complemented by a rich set of interesting exercises that you can perform fully in your browser... Yes, this means you can start learning functional programming without any hassle: nothing to install, nothing to tune up! The programming environment is just one click away!

During the course, you will discover powerful mechanisms that allow 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.

Registrations are already open at

https://www.fun-mooc.fr/courses/course-v1:parisdiderot+56002+session03/about

The course will start on September 17th 2018, and will run for six weeks.

Your expected effort is between 2 and 6 hours per week, depending on your background, including the time spent watching the short video sequences of the course, that total approximately an hour per week.

This may seem a significant effort, but at the end of the course you will have actually learned a lot: the final programming project will confirm that you acquired a good mastery of functional programming and the ability to develop medium sized programs with ease.

Thousands of learners attended the first two runs of this course in 2015 and 2016, and the many that completed it were extremely satisfied.

To introduce you to functional programming, we have chosen to use the OCaml programming language. OCaml is a rich, elegant, efficient programming language that 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), and that has a vibrant user community.

Facebook, Microsoft, JaneStreet, Bloomberg are some big names in industry that adopted OCaml to develop cutting edge applications. The research community uses OCaml for writing tools like the proof assistant Coq, the Coccinelle program transformer, the Frama-C code analyser, or the Astree static analyser. Several start ups use OCaml to obtain tenfold gains in productivity and stability of their code base. Recently, Tezos, one of the most innovative blockchains, has developed its entire software stack using OCaml to get high insurance about the execution of smart contracts.

Once you have started mastering functional programming using OCaml, we are sure that other programming languages will never look the same to you again.

This course will be held in English, but subtitles are already available in English, in Portuguese and in French.

Prerequisites

To take full advantage of this course you should have already some basic knowledge of computer programming, 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment