Module | Credits | Compulsory/optional |
---|
User Experience | 15 Credits | Optional |
This module explores the body of knowledge underpinning the topic of User Experience (UX), and how UX approaches can be applied to the design and evaluation of user interfaces. |
Concurrency | 15 Credits | Optional |
This module covers the issues and terminology in communicating sequential processes. The module provides insight into the advantages and risks inherent in such systems, and an appreciation of the need for disciplined access to data. The module provides an understanding of the desirable properties of concurrent systems, such as safety and liveness, and some of the techniques, either within a programming language or the operating system, for ensuring these properties. The module applies these principles and practices to particular cases. |
Constructive Artificial Intelligence | 15 Credits | Optional |
This module covers the essential principles and techniques of constructive Artificial Intelligence (AI), classical and modern, as well as further core topics in Computational Intelligence. These have been selected as identified to be central to the skill-set expected of the modern AI practitioner in industry and research. The module provides an up-to-date working knowledge of constructive AI models and techniques for understanding, selecting and implementing appropriate AI models, methods and algorithms for given scenarios and for developing intelligent systems for the solution of problems. |
AI Robotics and Applications | 15 Credits | Optional |
This module applies problem based learning in AI principles for solving modern day robotics problems. The course includes a series of application areas in which AI plays or has the potential to play a significant role. A series of case studies provides an opportunity for comparative analysis, while practical robotic implementation tasks allow for implementing robot learning and decision making. The module provides opportunities to develop knowledge of the principles of artificial intelligence and robotics, and to gain practical experience of the design, programming and behaviour of intelligent systems and robots. |
Object Oriented Development | 15 Credits | Optional |
This module develops understanding of object-oriented technology in the analysis and design of software systems. Real-world problems are analysed and modelled in an object-oriented way, experience is gained in translating such models into executable systems. The module explores design concepts such as abstraction, encapsulation, and inheritance. The module considers how these design concepts can improve software quality, and how typical implementations of these concepts can be captured and reused by using design patterns.
Students will gain practical experience of a range of modelling techniques, and have the opportunity to use a variety of industry-standard tools for system development. |
Software Engineering Practice | 15 Credits | Optional |
This module gives the opportunity to extend understanding and experience of software engineering practice. It offers exposure to the development and evolution of software. The module is very practical and is based around a substantial piece of software. The aim of the module is to enable the development of software engineering knowledge and skills that are transferable to software companies. Leading edge practices are introduced such as using program slicing to find code faults. Specialised software development approaches are investigated such as those required for application areas such as safety critical systems. |
Cyber Security | 15 Credits | Optional |
This module introduces the concepts and principles of cyber security including its theoretical and practical aspects. It covers the relevant mathematical techniques associated with cryptographic algorithms and applications such as user authentication and authentication protocols. This module focuses on how security services that are provided by underlying network infrastructure can be used to develop various secure systems. These systems are used to protect information communication, computer networks and cloud resources from unauthorised access and malicious activities. In this module, various examples of secure systems such as secure email, secure web and secure protocols will be presented. Security violations and threats such as Distributed Denial of Service (DDoS), identity theft, information leaks, network eavesdropping, email spams are major issues in cyber security. Issues related to forensics, wireless security and cloud security are also discussed in this module. |
Artificial Life | 15 Credits | Optional |
Artificial Life is the study of the modelling and synthesis of living and life-like systems, especially with regard to the computation they implicitly perform in interaction with their environment. It comprises one of the major directions of Artificial Intelligence of the last few decades, and its techniques are widely applied in areas as divergent as animation in movies and computer games, economics, machine learning, physics and engineering (robotics, space sciences) and systems biology. The importance of embodiment in the understanding of natural intelligence has led researchers in robotics, Artificial Life, and Artificial Intelligence to focus on Embodied Cognition, in which the role of the external environment and the way agents are build are at least as important as any algorithm. This module provides valuable and solid foundations in the increasingly important and applicable paradigms and techniques of Artificial Life and Embodied Cognition, supported by essential lectures and experimentation with self implemented simulations. |
Software Quality | 15 Credits | Optional |
This module provides both a theoretical and practical introduction to quality both in terms of the software development process and the products of that process. It also investigates how quality can be defined and measured, and by analysing actual program code to determine its quality according to pre-determined quality metrics. |
Embedded Systems Development | 15 Credits | Optional |
This module lays out the knowledge for designing embedded systems. The fundamental characteristics of embedded systems are that available resources are limited and/or that the computer control system interacts with a control environment. The characteristics of the control environment may impose specific requirements to the computer control system, for example, dependability properties or real-time guarantees of the control signal.
This course will teach theoretical foundations and established practices for the design and evaluation of embedded systems, including dependable and real-time computing. Practical exercises to model and develop and embedded systems will strengthen the understanding of the taught concepts. |
Machine Learning and Neural Computing | 15 Credits | Optional |
This module uses contemporary machine learning and neural network techniques to aid in the understanding and analysis of real world data and neural systems. Topics include supervised and unsupervised learning, data visualisation, and error-correction-based learning. |
Quantum Computing | 15 Credits | Optional |
Quantum information processing is an active research area that exploits fundamental quantum phenomena in new applications from computation, secure data communication and information processing. A major paradigm shift, the area is of significant interest and potential benefit to both computer scientists, mathematicians and physical scientists. This is theoretical in nature, exploring concepts and applications from the area of quantum information processing with an emphasis on quantum computing. Content will take into account current or predominant research directions. |
Mobile Computing | 15 Credits | Compulsory |
This module examines mobile development and the issues around programming for a mobile device, understood here as a phone, tablet, or wearable computational hardware. In terms of programming this means dealing with: Novel forms of input: accelerometry or GPS reading; Understanding gesture: swiping, pinching, long-press; Context awareness: battery level, light level, nearby sensors or devices; Mobile usability: developing for small screens with restricted space; Connectedness: interfacing with web services; Publishing apps on dedicated app stores. In terms of the conceptual issues it means looking at: The tradition of research in ubiquitous computing from Mark Weiser onwards; Issues of peripheral attention and so-called "calm technology"; Issues of privacy and security; Uses to which mobile applications have been used in areas such as Healthcare; Future directions (such as that represented by Google Glasses). |
Advanced Database Topics | 15 Credits | Optional |
This module builds upon knowledge and skills acquired in the context of relational databases studied at Level 5. Issues of complexity in databases arise when the scale of the database increases and the focus here is on firstly the design and implementation in a large multi-user database and secondly, selected current and emerging topics in databases. This module provides an in-depth study of the design and implementation of relational databases using a top-down approach. There is a large practical element using a popular market leading product in the roles of database designer, database administrator and end user. The module also raises awareness of areas where new types of database are emerging and provides practical experience in these areas. |
Information Security Management | 15 Credits | Optional |
This module develops the concepts and principles of information security management including its organisational aspects such as security governance, policy procedures and security standards. It covers the relevant methods associated with risk assessment and management. In this module, various issues associated with information assurance, incident management and government legislation on data protection will be presented. This module introduces security controls that are used to protect information and underlying IT systems and infrastructure. Disaster recovery, business continuity management, investigation and digital forensics which are important aspects of information security management will be discussed in this module. |
Computer Science Project | 30 Credits | Optional |
This module is almost exclusively self-directed study. The actual academic content is defined by the topic chosen by the student.
This module leads on from the Project Planning module. The Project Planning module will have developed many of the skills needed to undertake the BSc Project, including preparatory sessions on identifying a suitable project idea. The Project module provides an individually designed programme of study based around the principles of the chosen degree title. This programme of study should reflect a solution to a problem of the student's devising. |
Artificial Intelligence Project | 30 Credits | Optional |
This module is almost exclusively self-directed study. The actual academic content is defined by the topic chosen by the student.
This module leads on from the Project Planning module. The Project Planning module will have developed many of the skills needed to undertake the BSc Project, including preparatory sessions on identifying a suitable project idea. The Project module provides an individually designed programme of study based around the principles of the chosen degree title. This programme of study should reflect a solution to a problem of the student's devising. |
Networks Project | 30 Credits | Optional |
This module is almost exclusively self-directed study. The actual academic content is defined by the topic chosen by the student.
This module leads on from the Project Planning module. The Project Planning module will have developed many of the skills needed to undertake the BSc Project, including preparatory sessions on identifying a suitable project idea. The Project module provides an individually designed programme of study based around the principles of the chosen degree title. This programme of study should reflect a solution to a problem of the student's devising. |
Software Engineering Project | 30 Credits | Optional |
This module is almost exclusively self-directed study. The actual academic content is defined by the topic chosen by the student.
This module leads on from the Project Planning module. The Project Planning module will have developed many of the skills needed to undertake the BSc Project, including preparatory sessions on identifying a suitable project idea. The Project module provides an individually designed programme of study based around the principles of the chosen degree title. This programme of study should reflect a solution to a problem of the student's devising. |
Network Protocols and Architectures | 15 Credits | Optional |
Computer networking is an area under constant development. An understanding of current network protocols is required in order to design, simulate and implement computer networks. Knowledge of current network technologies, protocols and architectures is necessary in a network environment
This module explores the aforementioned aspects of computer networking in some depth. Furthermore, one or more small-scale projects are employed to explore and apply these networking concepts. |
Internet of Things | 15 Credits | Compulsory |
This module will choose one of the common IoT systems-on-chip as a running example. The platform will be equipped with Bluetooth, WiFi and LoRa transceivers and will be ready for networking. The theory part of the module will introduce networking and security concepts tailored to the resources of small, battery-powered, data gathering devices (Things) and will focus on issues of configuration and resource optimisation of the communication infrastructure. A second theme of the module is cybersecurity. This will also be approached in the context of limited resources, tackling the issues of secure boot, use of cyphers and crypto-accelerators and also the security infrastructure aspect supported by a fog server. |
Real-time and Control Systems | 15 Credits | Compulsory |
This module develops knowledge and understanding of embedded real-time system design. The students will design solutions for embedded real-time systems, in which the computer control system must interact with a control environment, where available resources are limited, and where the control environment may impose specific requirements on the computer control system. Dependability properties and real-time guarantees of the control signal are examples of such constraints.
The students will learn theoretical foundations and established practices for the design and evaluation of dependable real-time control systems. Practical exercises will be used to model and develop real-time control systems. |
Responsible Computing | 15 Credits | Compulsory |
This module is concerned with legal, social, ethical and professional issues that may affect the work of professionals in the computing and technology sectors.
The module is designed to enable students to make informed judgements in computing practice based on legal, social and ethical principles. |
Robotics | 15 Credits | Optional |
This module will provide an in-depth introduction to Intelligent Adaptive Systems (IAS) and the AI notions, methods, techniques, and algorithms underlying the design and implementation of a variety of artificial IAS. IAS can be defined as systems that adapt (change, improve) autonomously their sensorimotor, morphological,
functional and/or cognitive capabilities as they interact with their environments to face in advantageous ways the dynamic changes and challenges that those environments pose. |
Software Architecture | 15 Credits | Compulsory |
This module explores software architecture by examining architectural design patterns. Using a conceptual definition as an anchor, the module examines different approaches to solving design problems, with practical examples and implementation exercises.
This module is based on a set of practical examples and exercises that show how to apply architectural patterns to design software systems. |
Computer Science Project | 30 Credits | Compulsory |
This module is based around the identification and undertaking of an individual project.
Project definitions will be provided covering a broad range of Computer Science topics and subject areas. The student is guided in their choice of project, based on their proven skills and interests.
Each project is designed to support the student to develop deep and detailed learning in one or a few subject domains and will require the development of an artefact.
The project definition will also enable further development of skills for future employability in industry, including:
• Problem analysis and solution development
• Time management and planning
• Communication
• Report writing
• Assessment of risk |