A focal point in Computer Science is the semantics of programs, that is, the meaning of syntactic constructs of a programming language given independently of implementations and in terms of a formal mathematical framework. Such semantics not only reveals the essence of computation and gives insight into the structure and inter-relationship of programming constructs, but also provides a mathematical foundation for reasoning (specifying, synthesising, verifying, etc.) about programs, programming languages and programming paradigms.
Our course is an eclectic mix of topics in semantics that form a coherent story and correspond to how the subject has been developing over the years. The material covers the background required to understand the motivations and flavour of the field, and constitutes an interface to ongoing work in semantics. We expect that after the course the students will be well-equipped (and encouraged!) to study the semantics literature on their own.