YoVDO

Learn OCaml

Offered By: Independent

Tags

OCaml Courses Algorithms Courses Data Structures Courses Functional Programming Courses String Manipulation Courses Parser Combinators Courses

Course Description

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

Related Courses

OCaml
Exercism
ReasonML
Exercism
ReasonML Programming - Full Course for Beginners
freeCodeCamp
OCaml By Examples
Independent
OCaml Programming: Correct + Efficient + Beautiful
Independent