Skip to main content

Logic in Computer Science

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

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

Program Verification

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