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

YouTube

Introduction to Functional Programming in OCaml

via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn functional programming fundamentals through OCaml in this comprehensive course spanning nearly 8 hours of instruction. Begin with the history and motivation behind functional programming, explore OCaml's key features and development environment, and discover why major users have adopted this language. Master basic and advanced data types including user-defined types, tuples, and records while working through practical case studies like building a small typed database. Dive deep into OCaml's functional programming concepts including recursion, tagged values, tree-like structures, and polymorphic algebraic datatypes through hands-on projects such as creating a story teller application. Develop expertise in functional expressions, first-class functions, partial application, and essential operations like mapping and folding functions on lists. Explore OCaml's imperative features including exception handling, sequences, iterations, input/output operations, mutable record fields, and references. Conclude by learning to structure software effectively using modules, information hiding principles, functors, and compilation units, with practical examples including building a dictionary module. Gain insights into the current OCaml ecosystem through included workshop content covering the platform's state and declarative syntax definitions.

Syllabus

W0S0, Greetings
W0S0, INTRODUCTION TO THE COURSE
W0S1, FUNCTIONAL PROGRAMMING: HISTORY AND MOTIVATION
W0S2, THE OCAML LANGUAGE: HISTORY AND KEY FEATURES
W0S3, WHY THE OCAML LANGUAGE: MEET THE USERS
W0S4, TOOLS AND DEVELOPMENT ENVIRONMENT: FIRST STEPS IN OCAML!
W0S5, A BRIEF SHOWCASE OF SOME OF OCAML'S FEATURES
W0S6, OVERVIEW OF THE AVAILABLE RESOURCES
W1S0, BASIC DATA TYPES
W1S1, MORE DATA TYPES
W1S2, EXPRESSIONS
W1S3, WHY THE OCAML LANGUAGE: MEET THE USERS
W1S4, FUNCTIONS
W1S5, RECURSION
W2S0, USER-DEFINED TYPES
W2S1, TUPLES
W2S2, RECORDS
W2S3, RECORDS
W2S4, CASE STUDY: A SMALL TYPED DATABASE
W3S0, TAGGED VALUES
W3S2, TREE-LIKE VALUES
W3S3, CASE STUDY: A STORY TELLER
W3S4, POLYMORPHIC ALGEBRAIC DATATYPES
W3S5, ADVANCED TOPICS
W4S0, FUNCTIONAL EXPRESSIONS
W4S1, FUNCTIONS AS FIRST-CLASS VALUES
W4S2, FUNCTIONS WITH MULTIPLE ARGUMENTS
W4S3, PARTIAL FUNCTION APPLICATION
W4S4, MAPPING FUNCTIONS ON LISTS
W4S5, FOLDING FUNCTIONS ON LISTS
W5S0, IMPERATIVE FEATURES IN OCAML
W5S1, GETTING AND HANDLING YOUR EXCEPTIONS
W5S2, SEQUENCES AND ITERATIONS
W5S2, GETTING INFORMATION IN AND OUT
W5S3, SEQUENCES AND ITERATIONS
W5S3, MUTABLE RECORD FIELDS
W5S6, VARIABLES, AKA REFERENCES
W6S0, STRUCTURING SOFTWARE WITH MODULES
W6S1: INFORMATION HIDING
W6S2, CASE STUDY: A MODULE FOR DICTIONARIES
W6S3, FUNCTORS
W6S4, MODULES AS COMPILATION UNITS
OCaml Workshop 2020 - State of the OCaml Platform 2020
OCaml Workshop 2020 - A Declarative Syntax Definition for OCaml

Reviews

Start your review of Introduction to Functional Programming in OCaml

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.