Skip to content

bugczw/Introduction-to-Functional-Programming-in-OCaml

Repository files navigation

The content of this course includes:

  1. Week 0:Introduction and overview:

    • S0: Introduction to the course
    • S1: Functional Programming:history and motivation
    • S2: The Ocaml language:history and key features
    • S3: Why the Ocaml language:meet the users
    • S4: Tools and development environment:first steps in Ocaml
    • S5: A brief showcase of some of Ocaml's features
    • S6: Overview of the available resouces
  2. Week 1: Basic types,definitions and functions:

    • S0: Basic Data Types
    • S1: More Data Types
    • S2: Expressions
    • S3: Definitions
    • S4: Functions
    • S5: Recursion
  3. Week 2: Bascic data structures :

    • S0: User-defined types
    • S1: Tuples
    • S2: Records
    • S3: Arrays
    • S4: Case study: A small typed database
  4. Week 3: More advanced data structures:

    • S0: Tagged values
    • S1: Recursive typess
    • S2: Tree-like values
    • S3: Case study: a story teller
    • S4: Polymorphic algebraic datatypes
    • S5: Advanced topics
  5. Week 4: Higher order functions:

    • S0: Functional Expressions
    • S1: Functions as First-Class Values
    • S2: Functions with Multiple Arguments
    • S3: Partial Function Application
    • S4: Mapping Functions on Lists
    • S5: Folding Functions on Lists
  6. Week 5: Exceptions, input/output and imperative constructs:

    • S0: Imperative features in OCaml
    • S1: Getting and handling your Exceptions
    • S2: Getting information in and out
    • S3: Sequences and iterations
    • S4: Mutable arrays
    • S5: Mutable record fields
    • S6: Variables, aka References
  7. Week 6: Modules and data abstraction:

    • S0: Structuring software with modules
    • S1: Information hiding
    • S2: Case study: A module for dictionaries
    • S3: Functors
    • S4: Modules as compilation units

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published