-
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.
-
Full-Stack Development (COMP3006)
This module explores the production of dynamic web applications with a particular focus on the web environment. Key elements such as object oriented and event-based development, asynchronous client-server communication and distributed content representation are explored through practical production. The production of a working system uses dynamic web frameworks such as HTML, CSS and JavaScript/jQuery.
-
HCI, Usability and Visualization (COMP3007)
This module has three main objectives. The first objective is to enhance the students understanding of the topic of Human Computer Interaction (HCI). The second is to emphasise the crucial role of user feedback in the software development life cycle. The final objective is to exemplify this grounding in HCI and usability evaluation using the application area of Information Visualization.
-
Big Data Analytics (COMP3008)
The key objective of this module is to familiarise the students with the most important information technologies used in manipulating, storing and analysing big data. Students will work with semi-structured datasets and choose appropriate storage structures for them. A representative of recent non-relational trends is presented—namely, graph-oriented databases.
-
Security Operations & Incident Management (COMP3010)
This module will examine the incident management and the role it plays within modern information security systems. It will introduce key concepts in the analysis of network traffic for signs of intrusions, as well as the process of responding to computer incidents including the identification and analysis of malicious code.
-
Ethical Hacking (COMP3011)
Understanding the security and vulnerabilities of IT systems is critical in their protection. This module seeks to develop the knowledge and skills to undertake penetration testing of systems. A range of passive and active offensive techniques will be taught, alongside an in-depth understanding of the legal and ethical issues surrounding such activity.
-
Digital Forensics & Malware Analysis (COMP3012)
This module examines the procedures, tools and techniques utilised within the field of digital forensics. It will introduce an understanding of the methodology deployed in the handling of digital evidence, the volatility of data and maintaining the integrity of data. Knowledge and skills will be developed of tools and techniques to examine and analyse forensic data across differing computing platforms.
-
Games Graphics Pipelines (COMP3015)
This module develops core programming skills for game developers, targeting specific elements of graphics pipelines; rendering, shading and optimisation for varied platforms such as AR (mobile) VR and XR platforms. The module focuses on specific skills required to develop tools/solution for emerging game technologies.
-
Immersive Game Technologies (COMP3016)
This module introduces the concepts and programming techniques for high performance real-time graphics using a relevant graphical API. A bottom-up view of graphical programming is taken, excluding the use of game engines and high-level prototyping tools. Students also learn transferrable skills: programming in an un-managed environment, tools programming, programming for physical interfaces and/or sensors.
-
Computing Project Management (COMP3017)
This module provides the opportunity for students to acquire a critical understanding of the management and methodological issues associated with Software Development.