You’ll now be ready to demonstrate all that you’ve learned over the past three years by undertaking a substantial problem-solving individual project focused on a specific area of personal interest. You’ll spend the rest of your time studying your optional modules, including machine learning and artificial intelligence, programming for games development, high performance computing, and how to process big data. You will probably choose modules that relate to your intended career.
AINT308 Machine Vision and Behavioural Computing
Providing an advanced knowledge of artificial vision systems for interactive systems guidance and control, this module is underpinned by current theoretical understanding of animal vision systems.
AINT351 Machine Learning
This module introduces machine learning, covering unsupervised, supervised and reinforcement learning from Bayesian, Information Theoretic and decision making perspectives. This includes theory behind a range of learning techniques and how to apply these to build representations of data in systems that make decisions and predictions.
AINT353 Brain-inspired Cognitive Systems
The module develops an understanding at a systems level of how the brain performs the functions of vision, hearing and movement control, and how novel artificial cognitive systems might use brain-inspired sensory and motor mechanisms to achieve human-like levels of performance.
AINT355 Industry Engagement
The module provides a contextual framework for developers seeking to release games, APPs, software products or compete in national events. Topics include creating and protecting intellectual property, product placement, revenue models and licensing, investment, social enterprise, and due diligence. The module includes industry case studies, a guest speaker program and opportunities for individual mentoring.
This module aims to introduce students to the psychology and societal implications of Internet use. To evaluate the variety of issues related to the implications of pervasive technology on the individual and wider society.
ISAD358 Advanced Databases and Data Management
This module considers the challenges of and solutions for managing, processing, analysing, securing and interpreting large amounts of unstructured data within relational database environments.
ISAD362 Software Project Management
To enable students to acquire a critical understanding of the management and methodological issues associated with software development.
LAW3239 Cybercrime: Issues and Regulation
NET302 Distributed Systems
Distributed systems represent the type of networked computer applications that modern users rely on daily. They are characterised by running on multiple heterogeneous devices subject to failure, yet performing speedily and robustly and scaling to substantial size.
PRCO307 Work-based Learning in Computing Education
This module is primarily aimed at students who would like to embark on a teaching career in Computing. The key aim of this module is to allow students from Computing degree programmes to acquire relevant experience in teaching within the computing subject area by working as `student-tutors¿ with qualified teachers in selected suitable schools or educational establishments.
PRCO308 Work-based Learning
With a view to improving student employability, this module provides the opportunity for
students to apply their knowledge to a real world IT problem within an existing IT company
or client organisation.
SOFT351 Programming for Entertainment Systems
This module introduces the concepts and programming techniques for high performance real-time graphics using an graphical API such as DirectX or OpenGL. The module has a very bottom-up view of graphical programming; it is not about the use of game engines and high-level prototyping tools. Students also learn many highly transferrable software engineering skills, e.g. programming in an un-managed environment.
SOFT352 Client-side Web Scripting
SOFT354 Parallel Computation and Distributed Systems
The module aims to develop skills in understanding and programming parallel and distributed computer system. It will provide an introduction to different parallel architectures, programming techniques and methodologies. Practical training will focus on HPC cluster and GPGPU architectures and programming techniques.