Type Systems for Programming Languages - COMP60023
Aims
In this module you will study in detail the design of type assignment systems for programming languages and focus on the importance of a sound theoretical framework, in order to be able to reason about the properties of a typed program. You will also study and compare the types systems of various modern functional and object-oriented programming languages.
Role
Course Leader
Discrete Mathematics, Logic & Reasoning - COMP40018
Aims
In this module you will learn how discrete mathematics and logic can be used to describe and reason about computational structures and systems. The module provides an important foundation for many core topics in Computing, such as computer hardware design, algorithm analysis, and program reasoning. Central to this module are proof techniques, which are important when establishing whether or not a program or system behaves according to its specification. The ability to use mathematics and logic to formalise such specifications is also a key learning outcome.
Role
Course Leader
Type Systems for Programming Languages - COMP96032
Aims
In this module you will study in detail the design of type assignment systems for programming languages and focus on the importance of a sound theoretical framework, in order to be able to reason about the properties of a typed program. You will also study and compare the types systems of various modern functional and object-oriented programming languages.
Role
Course Leader