Skip to main content

Course Overview

Freely available courses are given below.

Logic

Logic

Logic underlies most areas of computer science. This course introduces many different formal logics, ranging from propositional logic all the way to higher-order logic.

Programming Language Theory

Programming Language Theory

This course introduces programming language theory, from abstract syntax to denotational semantics, covering imperative and functional programming.

Program Correctness

Program Correctness

An introductory course to program correctness: ensuring that programs behave as is intended. Covering both Hoare's logic and Reynolds' logic.