Term 1
Algorithms and complexity
You will be introduced to advanced algorithms through mathematics and programming, including linear algebra for advanced analysis of data and machine learning optimisation. You will create and analyse computational models using approaches such as stochastic and gradient algorithms, dynamic programming algorithms and primal and dual methods. This will develop your understanding of how algorithms might be improved to tackle contemporary and emerging problems.
Advanced data structures for AI
You will learn advanced data structures and representations, including for complex multidimensional feature processing and storage. You will consider how different types of structures are useful for different kinds of contexts and problems from schema-less structures to complex multidimensional in-core representations. You’ll also explore linked lists, binary trees, heap/stack/queue data, dynamic arrays, hashing and graphs.
Term 2
Cyber security futures
You will be given opportunities to gain experience in targeted penetration testing and undertake training and exercises such as cybersecurity essentials certification. You will be taught to use techniques including advanced static program analysis and report interpretation, threat analysis and mitigation. You’ll also have the opportunity to use tools such as burpsuite to carry out live testing to analyse security risks in online applications.
Advanced software engineering
Software engineering methods are critical for software development. This unit will develop your understanding of how to work as part of a contemporary software team. You will be exposed to software engineering approaches across relevant industry standard languages, tools and frameworks including JavaScript, C/C++ and Python. Software engineering will feature heavily in project work, both scaffolding and reinforcing learning.
Term 3
Computational ethics
In this unit, you will be asked to analyse and deploy critical approaches to technology development, building on existing legal and regulatory ethical frameworks explored throughout the programme. You will be encouraged to apply these techniques to your thesis projects, exploring how you have applied computing ethics in the development of your work.
Computational entrepreneurship
This MA course has a strong focus on ‘tech for good’ and seeks to contribute to UAL’s social purpose mission. In this unit, you will develop your entrepreneurship skills, learning how to embed ethical computing into your computing practice. You will be introduced to a range of product development case studies, evaluating their social, cultural and ethical impact. This contextual knowledge will help you to develop realistic, informed project plans, considering team requirements, investment requirements and market placement.
Summer period
Thesis project
The final thesis project will allow you to develop a significant piece of work demonstrating the level of your competencies in relation to those delivered throughout the programme. Throughout your project, you will be supported by staff with professional experience in writing software for real-world scenarios. You will also be offered the option to work with staff to develop research projects based on staff expertise and topic specialisms.