Module Overview
The module introduces the fundamentals of data science and big data analytics, an emergent specialised area of computer science that is concerned with knowledge on ‘Big Data’ mining and visualisation, including state-of-the-art database platforms, development toolkits, and industrial and societal application scenarios. Students can be exposed to core Big Data analytics concepts and models, the current technology landscape, and topical application scenarios using a variety of simulation environments and open datasets.
Module Overview
The module introduces the fundamentals of machine learning and principled application of machine learning techniques to extract information and insights from data. The module covers supervised and unsupervised learning methods. The primary aim is to provide students with knowledge and applied skills in machine learning tools and techniques which can be used to solve real-world data science problems.
Module Overview
Parallel Programming is an important modern paradigm in computer science, and a promising direction for keeping up with the expected exponential growth in the discipline. Executing multiple processes at the same time can tremendously increase computational throughput, not only benefiting scientific computations, but also leading to new exciting applications like real-time animated 3D graphics, video processing, and physics simulation. The relevance of parallel computing is especially prominent due to availability of modern, affordable computer hardware utilising multi-core and/or large number of massively parallel units.
Module Overview
This module offers students the chance to demonstrate their ability to work independently on a significant, in-depth project requiring the coherent and critical application of computer science theory and skills.
Students must initially produce a project proposal and related materials to frame the work, specifying clear, specific, academically justified, and appropriately scoped aims and objectives, as well as feasible means for fulfilling those aims and objectives. Students then work independently to fulfil those project goals. Throughout this process students are expected to demonstrate the application of practical development and analytical skills, innovation and/or creativity, and the synthesis of information, ideas and practices to generate a coherent problem solution.
Module Overview
The module aims to introduce the main concepts of Autonomous Mobile Robotics, providing an understanding of the range of processing components required to build physically embodied robotic systems, from basic control architectures to spatial navigation in real-world environments.
Students will have the opportunity to be introduced to relevant theoretical concepts around robotic sensing and control in the lectures, together with a practical “hands on” approach to robot programming in the workshops.
Module Overview
This module aims to provide students with knowledge on an alternative, and increasingly important, ‘platform agnostic’ approach for mobile development. This approach embraces the use of cross-platform methods by developing applications with a single code base that run efficiently across distinct mobile platforms, with maximum code reuse and interoperability.
Students will have the opportunity to investigate platform-dependent constraints by critiquing the emergent space of cross-platform tools and frameworks that aim to maximise code sharing between mobile platforms, whilst retaining common like-for-like sensor features such as geolocation, camera, storage and push notification’s without compromising performance or overall user experience. Contemporary cross-platform tools will be adopted throughout the module for the creation of applications that bridge multiple mobile platforms.
Module Overview
This module provides an understanding of the challenges in cyber security faced by society and industry. This includes an examination of the impact of threats and develops an understanding of mechanisms to reduce the risk of attack. The module examines a range of cyber threats and attack types and introduces strategies to mitigate these. It also prompts students to consider the legal, social, and ethical implications of cyber security.
Module Overview
This module introduces the student to the theory, principles, methods, and techniques of 3D computer graphics. The specialised mathematical underpinnings are explored along with their practical application in algorithms commonly used in videogame development. The development of skills in implementing computer graphic applications with modern, standard graphics pipelines encourages students to develop their programming skills while observing the theory of 3D graphics in practice.
This is delivered through a hands-on games programming context where students will be encouraged to develop interactive 3D graphics applications using industry standard tools and technologies.
This module aims to develop students' awareness and ability to implement and utilise mathematical approaches commonly seen in real-time systems such as videogames. In addition, modern graphical techniques will be explored, with reference to current industry practice, and students will be expected to demonstrate an ability to analyse requirements, systematically appraise existing methods, and employ critical-thinking in the development of their own pieces of work.
Module Overview
Digital image processing techniques are used in a wide variety of application areas such as computer vision, robotics, remote sensing, industrial inspection, medical imaging, etc. It is the study of any algorithms that take image as an input and returns useful information as output.
This module aims to provide a broad introduction to the field of image processing, culminating in a practical understanding of how to apply and combine techniques to various image-related applications. Students will have the opportunity to extract useful data from the raw image and interpret the image data — the techniques will be implemented using the mathematical programming language Matlab or OpenCV.
Module Overview
This module explores Computation Theory, including logics, definitions and models of computation, proofs about programs, proofs as programs, and limits on what is computable. The module will aim to develop critical-thinking and problem conceptualisation and solving skills, as well as the formal concepts used to structure computational thinking.
Module Overview
Realistic physics simulation is a key component for many modern technologies including computer games, video animation, medical imaging, robotics, etc. This wide range of applications benefiting from real-time physics simulation is a result of recent advances in developing new efficient simulation techniques and the common availability of powerful hardware.
The main application area considered in this module is computer games, but the taught content has much wider relevance and can be applied to other areas of Computer Science.
Module Overview
In this module, students can develop their understanding of how to design and develop and applications for Virtual and Augmented Reality (VR/AR) platforms. The module will start by introducing students to underpinning theoretical concepts of user experience in VR platforms, such as immersion, presence, fidelity, and embodiment. These will be used as a framework to explore a wide range of applications, primarily training and education, medical applications, therapy, and entertainment.
Fundamental design aspects will be introduced, such as interfaces and interactions, interactions with non-human characters, locomotion, and object manipulations. Within the context of training/education, design considerations relating to learning outcomes, knowledge transfer, and retention will be discussed.
Students are expected to consider the role of fidelity in relation to safety critical training, such as medical applications, and the advantages of VR over traditional displays will also be considered. Students can also learn how to assess user experience in VR using a variety of tools (primarily self-report measures). Students can also look at limitations such as simulator sickness, and accessibility of movement-based interfaces. The AR section of this module will mirror the VR topics mentioned, and compare and contrast AR platforms with VR, to enable students to make appropriate platform choices.
Alongside theoretical aspects, students can engage in parallel practical workshops, during which they will put into practice some of the concepts discussed in lectures. This will involve the use of appropriate development tools and platforms, and consideration of design aspects. Students have the chance to build an application during workshops, and use this as a tool to conduct an evaluation related to user experience.