Areas of Expertise
- Artificial Intelligence
- Technology Ethics
- Formal Languages
- Mathematical Logic
- Models of Concurrency
- Formal Verification
This module introduces the notion of grammars for defining the syntax of formal languages, especially programming languages. It introduces the limits of computation using Turing Machines and other models of computation.
This module will address the theory and practice of information security. In particular, it will consider where data comes from, who collects it and what they can do with it. It will further look into theories of monitoring and surveillance, digital identity, legal and regulatory frameworks, data protection, cybercrime, business resilience, disaster recovery, and security audits.
This module explores state-of-the-art methods and concepts to assist responsible design and development of technology with the aim of creating reliable and trusted systems. The content of this module will be delivered by expert lecturers and practitioners in the areas of trusted computation, bias and explainability in automated decision making and decision support, ethical considerations for AI, argumentation and negotiation, as well as formal methods, such as verification of critical systems.
Students will be introduced to non-standard approaches to cyber-security, such as evolutionary algorithms, quantum computing, and DNA computing. The inspiration behind these approaches will be discussed, along with their relative merits for applications in cyber-security.
Software projects have long had a reputation for cost and time overruns - but they need not, and there are well-established, and emerging, techniques and processes to manage them well and effectively: for example, agile methodologies like Scrum which are becoming a de-facto standard in the industry. Also, many projects have significant legal, social, ethical and professional consequences that a practitioner needs to be aware of and sensitive to. This module develops the fundamental skills of successfully building complex software systems, and the implications, including on wider society, of doing so. It will also prepare students for work on any project by equipping them with the skills to successfully plan them, and to commence that planning process.