Enrolment options

This course is an introduction to the theory, design, and implementation of programming languages. This will provide students with a solid foundation of the syntax, semantics, and pragmatics of the full range of programming languages.  Topics covered in this course include: formal semantics of programming languages, type systems, higher-order functions and lambda calculus, laziness, continuations, dynamic types, monads, objects, modules, concurrency, and communication.


Guests cannot access this course. Please log in.