Modules
An essential skill for postgraduate students is the ability to investigate topics with the objective of identifying facts , theories, ideas, methodologies, etc., that could inform the development of new insight for further research. A major aspect of this is critical analysis of information. The module aims to develop critical reasoning in students and an understanding of other researchers’ work. Students will learn how to use current research literature and relevant sources to gain new insight for a new research. They will learn how to support their research report with relevant facts, theories, ideas, etc. They will develop their ability to understand approaches and methodologies adopted in existing research toward writing a literature review and handling full research projects in their subject area.
The learning content also includes:
- Time management, library skills and literature search
- Evaluation of information sources
- Ethical issues in science, technology and engineering research (including intellectual property and plagiarism)
- Writing for research: styles and rules for presentation (including referencing standards)
- Choosing a research area and evaluating source material
- Hypothesis formation
- Design and application of questionnaires & interviews
- Quantitative and statistical tools for researchers (e.g. R, Python, SPSS)
There is a huge demand for interactive technologies that satisfy task requirements whilst at the same time being highly usable and accessible. Such demand means that businesses and organisations place great importance on their digital products and services facilitating positive user experiences. This module facilitates the development of advanced and professional knowledge, skills, and behaviours in the field of user-centred design to meet this aim. As such, the module features coverage of the following topics:
- User-centred design principles and ISO standard 9241-210
- Information architecture
- User interface design patterns and practices
- Design sprint processes and practices
- Low and high fidelity interactive prototyping
- Multidisciplinary design activities, problem-solving, and design iteration
- Advanced usability testing and evaluation
- Contemporary issues and emerging technologies in user experience
This module covers the related topics of computational complexity, optimisation and algorithm design in depth and detail. Learners will become familiar with the concepts and techniques required to classify problems and develop the ability to apply associated algorithmic approaches wherever possible. Some of the most important open questions in computer science will be addressed both from a theoretical and practical context.
The databases and security module involves the development of databases and their querying through the use of SQL. Databases will be discussed both theoretically and in practice. Students will have opportunies to develop and practice database creation and development. Database security will be discussed and shown how to apply in practice.
This module facilitates the study of biological processes and their ability to produce adaptive, dynamic solutions to complex problems. The focus is on naturally occurring systems capable of producing emergent phenomena based on simple rules of interaction between entities and their environment. Techniques such as evolutionary computing, swarm intelligence, cellular automata and neural networks are viewed as digital realisations of these natural processes. The related topics of iterated functions, chaos, complexity and fractals are introduced to motivate the application of such techniques in the computing discipline.
This module is designed to provide students with a hands-on, immersive experience in software development, mirroring the real-world practices of a professional software development studio.
Students will work in teams within the studio to respond to one or more client briefs that require production of a software-based solution by using their technical and soft skills. Student teams will analyse the brief, design and develop tangible solutions, and test their efficacy and suitability. Contemporary, industry-relevant, working practices and digital tools are employed throughout the studio’s journey.
The Robotics module provides an introduction to the foundational principles of robotics, exploring the theoretical aspects that underpin the design, application, and ethical considerations of robotic systems.
You will begin by examining the fundamental question: What is a robot? This includes understanding the diverse applications of robots across industries and their role in society. The module also delves into the ethical implications of robotics, such as their impact on employment, privacy, and safety.
Key technical topics include an overview of mechatronics, which integrates mechanical, electronic, and computer engineering; sensors, which enable robots to perceive their environment; and control systems, which ensure robots can perform tasks accurately and autonomously.
The module introduces the basic concepts of programming for the purpose of statistical analysis. It explores data structures such as lists, dictionaries, and arrays and functions to calculate min, max, mean, and standard deviation.
The mathematical and statistical skills include statistics and probability, multivariate calculus, linear algebra and optimisation methods.
The topics covered include:
Programming Concepts
- Data structures: lists, dictionaries, arrays.
- Functions: min, max, mean, standard deviation.
- Programming logic and debugging.
- Data visualization: Creating visualizations using tools like matplotlib, ggplot2, and seaborn.
Big data concepts: Basics of working with large datasets and addressing scalability challenges.
Statistics
- Descriptive statistics.
- Probability theory.
- Inferential statistics.
- Exploratory data analysis.
- Probability distributions: Understanding normal, binomial, and Poisson distributions and their applications.
- Time series analysis: Introduction to time series methods such as moving averages and ARIMA.Linear Algebra
Linear Algebra
- Vectors and matrices.
- Eigenvalues and eigenvectors.
- Linear systems.
Optimisation Methods
- Unconstrained optimisation.
- Constrained optimisation.
- Applications in statistical modelling and machine learning.
This module investigates different types of machine learning algorithms to find patterns in data. Each algorithm will be discussed in theory and practice, discussing: its data pre-processing requirements, pseudo-code, and evaluation metrics, e.g., Dunn index for clustering. Detailed demonstrations will show how to apply these algorithms to data using specified libraries in Python. Students will be required to investigate the merits of each algorithm for various types of data in both theory and practice.
This module provides an in-depth exploration of penetration testing, active defence, digital forensics, and incident response to provide a comprehensive approach to organizational security. Students will explore the methodologies attackers use to exploit systems and the tools and techniques which ethical hackers/penetration testers use to identify threats, the module also seeks to investigate and respond to security incidents. Emphasizing practical skills, this module covers penetration testing, active defence strategies, anti- and counter-forensics, malware analysis, and cyber threat intelligence. Through the coverage of these key concepts, the module enables students to understand key security vulnerabilities, allows threats to be thoroughly understood and enables students to recognise key security challenges enabling them to propose and design secure systems to respond to cyber threats.
The Research Project is the pinnacle of a taught, academic programme of master’s level study. It is a demonstration of academic, subject-specific, and research capabilities. Projects are a significant and substantial piece of individual work that draw upon the knowledge, technical abilities, and problem-solving skills developed in earlier modules. Students need to apply high-level research skills to a defined, complex problem. A distinguishing feature of the research project is that it is largely self-directed and independent, with support from an academic supervisor.