The module covers a range of topics that include:

  • Malware analysis and investigation
  • Low-level concepts of Operating Systems
  • Understanding endpoints (smartphones, servers, PC/Mac/smartphones) and how they are configured
  • Data collection and mitigation of surveillance

The module involves developing understanding of Logging and Auditing, it also includes extraction and examination of the storage mediums, RAM, and networks using tools such as FTK Imager, Autopsy, and Volatility.  The module also involves malware analysis using various static and dynamic analysis tools.

This module introduces the foundational concepts of cryptography, focusing on securing data and communications. It also explores key exchange mechanisms and the role of digital certificates in ensuring trust in digital interactions. The module begins with a brief overview of security concepts before diving into cryptographic principles. The key focus areas are:

  • Security concepts
  • Cryptographic concepts
  • Key exchange principles
  • Digital certificates and signatures

The security concepts covers :

  • Confidentiality, Integrity, and Authentication: Foundations of secure communication.
  • Basic Threats: Overview of common security threats like eavesdropping, tampering, and impersonation.
  • Security Mechanisms: Brief introduction to encryption, firewalls, and access control.
  • Importance of Security: Ensuring trust, data protection, and system reliability.

The cryptographic concepts covers:

  • Encryption and Decryption: Transforming data into unreadable formats and restoring it.
  • Types of Cryptography: Symmetric (e.g., AES) and Asymmetric (e.g., RSA) methods.
  • Hash Functions: Verifying data integrity using algorithms like SHA-256.
  • Applications: Securing communication, file encryption, and data storage

The key exchange principles covers:

  • Secure Key Sharing: Exchanging cryptographic keys over insecure channels.
  • Diffie-Hellman: Method for establishing a shared secret using modular arithmetic.
  • Elliptic Curve Diffie-Hellman (ECDH): Efficient key exchange leveraging elliptic curves.
  • Challenges and Solutions: Overcoming risks like interception during key exchange.

The digital certificates and signatures covers :

  • Digital Certificates: Verifying the ownership of public keys via Certificate Authorities (CAs).
  • Public Key Infrastructure (PKI): Framework managing certificates and trust.
  • Digital Signatures: Ensuring message authenticity and integrity using private keys.
  • Applications: Securing web traffic (HTTPS), email authentication, and document verification.

The module covers a range of topics that include:

  • Basic cloud computing concepts, advantages, and service delivery models.
  • Identity and Access Management (IAM) for centrally managing access to cloud resources.
  • Secure networking practices within the cloud environments.
  • Design and implementation of highly available, and secure cloud architecture.
  • Design and implementation of cloud resources such as Virtual servers, Databases, and storage solutions.
  • Introduction to serverless architecture within the cloud environments.
  • Application Data protection, both in transit and at rest, with in the cloud environments.
  • Logging and Monitoring within the cloud.
  • Incident Response Management within the cloud environments.

Students will undertake a large self-directed software project in a specialist topic of their choice with guidance and support from a dedicated academic supervisor.

The project will begin with an appraisal of said topic, usually through a literature review and/or a commercial assessment of viability. This will be followed by planning and creation of a practical software artefact covering an implementation lifecycle, making use of project management techniques.

Ethical issues will be explored, leading to required approval for quantitative and/or qualitative testing, with results then analysed and used to inform futher development and to draw conclusions against a hypothesis.

This module offers an in-depth exploration of artificial intelligence (AI) and its transformative role in the development of advanced software systems. It introduces key theoretical approaches and practical techniques for designing and deploying intelligent technologies, empowering you with the skills to build AI-driven solutions.

Key topics covered include:

  • Introduction to Artificial Intelligence: Understanding the foundations of AI and its significance in modern software development.
  • Theoretical Approaches to AI: Exploring algorithms and models that underpin intelligent systems, such as decision trees, neural networks, and reinforcement learning.
  • Practical AI Implementation: Gaining hands-on experience with AI techniques, including machine learning, natural language processing, and computer vision, through coding exercises and projects.
  • Designing and Deploying Intelligent Systems: Examining methods for building robust, scalable, and ethically sound AI technologies.
  • AI in Various Domains: Critically evaluating how AI is applied across industries such as business, healthcare, education, law, government, and scientific research, along with the ethical and societal implications of these applications.

This module blends theory with practical application, equipping you to develop intelligent systems and critically assess their impact in a wide range of real-world contexts.

The Robotics module provides an introduction to the foundational principles of robotics, exploring the theoretical aspects that underpin the design, application, and ethical considerations of robotic systems.

You will begin by examining the fundamental question: What is a robot? This includes understanding the diverse applications of robots across industries and their role in society. The module also delves into the ethical implications of robotics, such as their impact on employment, privacy, and safety.

Key technical topics include an overview of mechatronics, which integrates mechanical, electronic, and computer engineering; sensors, which enable robots to perceive their environment; and control systems, which ensure robots can perform tasks accurately and autonomously.

The module is assessed in a practical project where you will design a simulated robot, applying the concepts learned to demonstrate your understanding of robotic systems.