-
Parallel Computing (COMP3001)
This module develops an understanding of problems in Computer Science which take advantage of general-purpose computing on GPUs. It provides practical methodologies to reformulate problems in terms of hardware architecture, graphics primitives and high-performance computing concepts, as supported by the most recent GPUs. It develops the skills to implement parallel solutions with common GP-GPU computing languages.
-
Alternative Paradigms (COMP3002)
Imperative programming and related “classic” machines like finite state or Turing machines dominate the field of computing. This module aims to expose students to ways of thinking about computational problems that go beyond mainstream imperative styles (e.g., functional and declarative programming) and to ideas and workings of and behind unconventional and upcoming computing paradigms (e.g. quantum or neural computing).
-
Machine Learning (COMP3003)
This module introduces machine learning, covering unsupervised, supervised and reinforcement learning from a Bayesian perspective. This includes theory behind a range of learning techniques and how to apply these representations of data in systems that make decisions and predictions.
-
Advanced Computing and Networking Infrastructures (COMP3004)
This module introduces the infrastructures of the future Internet and cloud, both moving towards virtualisation and softwarisation, and describes how they underpin the development and deployment of multimedia Internet applications and services. Topics include virtualisation and cloud; services and applications; Software Defined Networking, and Network Function Virtualisation; load balancing, performance and resilience.
-
Control and Intelligent Systems Design (CONT317)
This module explores the application of control engineering and artificial intelligence techniques in the design of control systems
-
High Speed Communications (ELEC345)
A circuit and system design module covering analogue and high frequency techniques and their place in modern communications systems.
-
Design and Control of Renewable Energy Technology (ELEC349)
The focus of this module is on the generation of energy using solar photovoltaic (PV) technology. The effect of the environment, the PV material characteristics and the technology to achieve maximum power point tracking (MPPT) are described.
-
Advanced Embedded Programming (ELEC351)
The module aims to develop programming skills in embedded programming, by making use of advanced features of high-level programming languages and by deepening the knowledge of modern programming techniques in embedded systems. The module has a strong practical bias where students are required to solve various problems by programming existing microcontroller hardware.
-
Geotechnical Engineering 2 (GEEN314)
This module considers the application of Soil Mechanics to analysis and design of a range of common Civil Engineering structures. This includes shallow and deep foundations, retaining structures, and slope stability.
-
Statistical Data Modelling (MATH3702)
We study statistical models, including regression and the general and generalised linear models. We estimate model parameters in the classical and Bayesian inference frameworks, using R and Stan software. We describe related computer techniques, including computational matrix algebra and Markov chain Monte Carlo algorithms. We work with multiple data sources using state-of-the art data handling tools.
-
Fluid Dynamics (MATH3704)
In this module, students will learn how to use mathematics to model a variety of fluid flows. Fluid flow problems are described mathematically as ordinary or partial differential equations. These equations are then solved and the results interpreted for a mixture of theoretical and practical examples of both inviscid and viscous fluid flows. Applications from environmental and industrial modelling will be studied.
-
Modelling and Numerical Simulation (MATH3708)
Simulations and modelling are crucial tools that support industrial research and innovation. Students will learn to analyse mathematical models and develop programs to solve them. They will investigate algorithms and discuss their performance. Students will code and run numerical programs on a high performance computer. These forward-looking skills are highly sought after by many employers.
-
Optimisation, Networks and Graphs (MATH3709)
Optimisation and graph theory are related branches of mathematics with applications in areas as diverse as computer science and logistics. Graphs are used to capture relationships between objects, while optimisation studies algorithms that search for optimal solutions. This module provides both the theory and modern algorithms, including those used in artificial intelligence, required to solve a broad range of problems.
-
Computer Aided Engineering (MECH341)
In this module, students learn to use two of the Computer Aided Engineering methods that are most commonly used in industry; finite volume Computational Fluid Dynamics (to solve fluid flow problems) and Finite Element Analysis (to solve structural problems). Students gain an overview of the theory that underpins these methods, and learn how to use a validation process to assess reliability of simulation results.
-
Mechanical Engineering Design and Practice (MECH342)
This module further develops a methodical approach to engineering design. Students will create solutions to a complex engineering problem, embodiment designs using CAD tools, validate functionality, optimise technical performance and consider design for excellence targets across the product lifecycle. The module also considers the professional responsibilities of engineers, codes of conduct and typical ethical issues.
-
Mobile and Humanoid Robots (ROCO318)
This module examines the technology, control and modelling of mobile and humanoid robot systems. Mathematical analysis and computational algorithms underpin practical considerations and case studies.
-
Computer Vision (ROCO321)
The module will provide an advanced knowledge of artificial vision systems for interactive systems guidance and control. It will be underpinned by current theoretical understanding of animal vision systems.
-
Machine Learning for Robotics (ROCO351)
This module introduces basic concepts in the area of machine learning, which is a rapidly expanding field that allows computers to learn how to behave and perform complex tasks without being explicitly programmed to do them. Applications range from signal processing, image recognition through to the control of robotics systems.
-
Structural Analysis and Design 2 (STAD300)
This module focuses on the analyses and design of whole structures, i.e. multi-storey buildings. It includes computer modelling and analysis, and methods of the validation of the obtained results using approximate analysis.
-
Structural Engineering Design (STAD315)
This module introduces students to standard industry design practices and builds on their previous knowledge by introducing them to the design of low rise and multi storey structures. Students will also be taught to design individual structural elements within the building envelope. Approximate forms of analysis will be used to asses a structural model and to develop an understanding of structure interaction.