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

Independent

Learn OCaml

via Independent

Overview

Dive into functional programming with OCaml through a comprehensive MOOC and advanced course. Master fundamental concepts like integer and string identifiers, simple functions, and data structures. Progress to advanced topics including type-directed programming, efficient list implementations, balanced binary trees, and first-class functions. Explore practical applications such as symbolic manipulation of arithmetic expressions, implementing databases, and creating interpreters. Tackle challenging problems in alpha-beta search, Huffman compression, and parser combinators. Develop skills in algorithm design, data structure implementation, and problem-solving using OCaml's powerful type system and functional paradigm.

Syllabus

  • Introduction to Functional Programming (MOOC)
    • Integer Identifiers
    • String Identifiers
    • Simple Functions over Integers
    • Simple Functions over Strings
    • Tetragon
    • Enigma
    • Time on Planet Shadokus
    • Points and vectors
    • Searching for Strings in Arrays
    • Finding the Minimum
    • A Small Typed Database
    • First In First Out
    • Classic Functions Over Lists
    • Symbolic Manipulation of Arithmetic Expressions
    • Tries
    • Type Directed Programming
    • An Implementation of List with an Efficient Concatenation
    • Balanced Binary Trees
    • Using First Class Functions
    • Functions Returning Functions
    • Optimizing Partial Applications
    • A Small Arithmetic Interpreter
    • Using and Writing the Map Function
    • Optimising a Tree Traversal using Exceptions
    • Unraveling the Automatic Grader
    • Printing Lists
    • Displaying a Filesystem Hierarchy
    • Printing with Loops
    • Producing Fine ASCII Art
    • Rotating the Contents of an Array
    • Implementing a Stack with an Array
    • Type Abstraction Using a Signature
    • Multisets
    • Fixing a module signature
    • Char Indexed Hashtables
  • Advanced Functional Programming by François Pottier
    • Alpha-Beta Search
    • Recognizing Anagrams
    • Breaking a Sort
    • Counting trees
    • Enumerating Trees
    • Generic Sorting
    • Huffman Compression
    • Infinite Arrays
    • Leftist heaps
    • Merge Sort
    • Implementing Nondeterminism with Continuations
    • Implementing Nondeterminism as an Abstract Machine
    • Implementing Nondeterminism with Sequences
    • Parser Combinators
    • Persistent arrays
    • A pretty-printer
    • Random access lists
    • A SAT solver
    • From a Spectre to a Tree
    • Trees in Stereo Vision
    • Symbolic Sequences as Data
    • Symbolic Sequences as Objects
    • Building a Game Tree
    • Tree Iterators
    • The Union-Find data structure

Reviews

Start your review of Learn 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.