Course Summary

This course is a careful study of programming language features: basic data, data structures, functions, objects, types, concurrency, etc. Each feature is studied in intimate terms, through the implementation of interpreters and then through operational semantics, a mathematical approach to program meaning. The OCaml dialect of the ML programming language will be used. OCaml has features such as type inference, a higher-order functional basis, and an elegant module system, that make it worthy of study in its own right.

What you will gain from this course

 image

More information on how the course will run »

Prerequisites: This course is mathematical in nature and so is recommended for upper-level undergraduate students with strong mathematics skills, or for graduate students. It is not recommended for sophomores.