Natural Sciences Computing and Communications Pathway
This is a double-weighted pathway.
There has never been a more exciting time to study the vast world of computing and communications.
Digital technologies impact every part of our lives, and this pathway you will enable you to explore the digital-world from multiple perspectives, allowing you to understand and address the challenges impacting our digital future. From software development to sustainable computing, cyber security and AI, you will gain hands-on experience with a range functions, tools, and languages used across different industries.
Year One
Year One Modules accordion
The creation of the microprocessor revolutionised global innovation and creativity. Without such hardware there would be no laptops, no smartphones, no tablets. Life changing technologies, from MRI scanners to the internet, would simply not exist.
This module introduces the field of digital systems, the engineering principles upon which all contemporary computer systems are based. You will study the elements that work together to form the architecture of digital computers, including computer processors, memory, data storage and input/output. You will also unearth the ways in which these are enabled by digital logic, where George Boole’s theory of a binary based algebra meets electronics. Discover how the software programs we write translate to, and interact with, such hardware. Finally, this module will explore the effects of multi-process operating systems, and how these interplay with the capabilities and architecture of modern computers to optimise performance and robustness.
Software forms a central aspect of our lives. From the applications we run on our phones to satellites in space, all modern technology is enabled by software.
In this module, you will focus on Software Development, the processes and skills associated with designing and constructing computer programs. No matter your previous experience in computing, you will gain the contemporary knowledge, skills and techniques needed to develop high-quality computer software. This includes a thorough treatment of the principles of computer programming and how these principles can be applied using a range of contemporary and established languages such as C and Python. You will study the software engineering skills needed to ensure programs are correct, robust and maintainable, including techniques for problem analysis, design formulation, programming conventions, documentation, testing and test case design, debugging and version control.
Software development is a collaborative and creative process. You will investigate the processes, tools, techniques, and notations required to successfully engage in the development of commercial grade software.
Focusing on the key non-functional parameters of software reuse, scalability, maintainability and extensibility, you will explore the benefits brought by the rigour associated with object-oriented, strongly typed languages (such as Java). You will practice the concepts of composition, inheritance, polymorphism, interfaces, and traits and the commonly employed design patterns that they enable. You will also study the processes and notations associated with defining the relationships and behaviour of complex computer software systems. Practical activities will allow you to continue to refine the programming skills to create even more complex systems.
Computing and data control many critical elements of modern society. It’s vital that there is a strong theoretical foundation to computer science.
We begin by examining the hard questions at the centre of computer science. You will cover the fundamentals in logic, sets, and mathematics of vectors, matrices and linear algebra and their practical applications in software, such as computer graphics. Algorithms, abstract data types, and analysis of algorithms is introduced to allow you to make reasonable decisions about the design of your programs. Finally, you will get the chance to investigate the principles of data science to select, process and analyse data, and examine the way programs and systems can be designed to efficiently support work with data, and question the limits of conclusions that can be drawn from such systems.
Year Two
Year Two modules accordion
Human-computer interaction (HCI) is concerned with all aspects of designing, building, evaluating, and studying systems that involve human interaction.
From a computing perspective, the focus is on enabling interaction through user interfaces and on creating interactive systems that provide a positive user experience. The module introduces you to the foundations of HCI, where you delve into human behaviour, technologies for interaction and human-centred design. You will review human perception, cognition and action, and relate these to design principles and guidelines. As part of this, you will discuss different examples of user interfaces and key technologies such as pointing. You will then be introduced to the practical methods for designing and evaluating, including legal, social, ethical and professional considerations in relation to people and society, such as inclusive design practices, bias, and privacy.
Throughout your degree you gain a unique skills set based on your understanding of the interdisciplinary nature of sciences. In this module we develop your self-awareness of these skills and how to make the most of graduate-level employment opportunities.
We introduce you to the University’s employability resources including job search techniques and search engine use. We develop your skills in writing CVs and cover letters, and we draw on the expertise of employers and alumni. Your ability to effectively use these resources will enhance your employability skills, your communication skills and help you to develop a short-term career plan.
An introduction to two essential concepts in modern computing systems, cyber security and data engineering. We explore the building blocks of the Authentication, Authorisation and Accountability (AAA) framework, including access control models, security policies and mechanisms. You will review the main categories of existing cryptosystems to understand their security properties, discuss basic concepts of systems security, study the common approaches and tools that attackers use and gain first-hand experience tackling the weaknesses that can be present in real-world systems through guided work in a highly controlled, small-group practical lab.
You will gain a practical and theoretical background in the design, implementation and use of database management systems. This will incorporate the consideration of information quality and security, Entity-Relationship Models, the relational model and the data normalisation process, and alternative schema definitions, SQL, NoSQL and Object-Oriented data models, big data, as well as transaction processing and concurrency control.
Delve into the key principles of artificial intelligence (AI), touching on the core concepts and philosophy of AI and discussing its presence and ethical challenges in the modern world. Throughout, you will unearth the underlying principles of search spaces, knowledge representation and inference logic that form the core of rule-based systems, before learning the principles of machine learning, clustering, classification, linear regression and neural networks.
From this, you will have the grounding necessary to progress to modules in topics such as machine learning, computer vision, and NLP. You will also gain a deeper understanding of computational problem solving, exploring the very nature of computability, including non-deterministic polynomial (NP) complexity classes such as NP-hard, NP-complete and problems which cannot be solved. Be introduced to classical algorithmic approaches to problem solving including divide and conquer, recursion, and parallel approaches, exploring their relative merits for different classes of problem.
Extended reality (XR) refers to the interactive technologies that blend virtual and physical worlds into a hybrid environment or immersive experience. The technology is based on multi-modal platforms that integrate the use of wearable computing. In this module, you will explore different uses of extended reality within the Reality-Virtuality Continuum and identify the needs and means of augmenting human senses.
You will take an applied approach to the design, implementation, deployment, and evaluation of systems that are used to create an XR environment and deliver an immersive experience. To do this, you will study the latest trends in research, emerging technologies, and novel tools, with an analytical focus that assesses the socio-ethical impacts that may result from widespread usage of XR. A key topic will be the computer graphics technology that enables extended realities to exist visually, exploring the fundamental concepts related to visual content generation through relevant theory and practice using current game engines.
The internet and the world wide web have now invaded every aspect of our lives, from ecommerce and entertainment to logistics and social media. Increasingly, application software is no longer written for specific devices, but for internet web browsers. The internet has replaced operating systems as the de-facto platform for application development, making an already global phenomenon truly impactful.
This module explores the various approaches to the development of internet applications, investigating both the client and server-sides, and discussing the trade-off of performance, scalability, privacy and trust associated with these approaches. You will review the role of ‘cloud infrastructures’ (federated distributed computation) in the provision and management of internet applications. Through interactive lectures and practical sessions, you will study common frameworks for client-side application development and create and deploy an internet application from first principles.
Year Three
Year Three modules accordion
You will undertake a substantial individual project, typically involving the principled design, implementation, and evaluation of a substantial piece of software, experimental study, or theoretical work. To assist in this, an academic will provide a large range of project ideas covering the breadth of our School’s expertise, which you will rank by level of interest before being allocated to a supervisor. You will also have the opportunity to write your own project idea and find a supervisor that would like to support you, and projects can be carried out in collaboration with an external partner, such as a company.
Throughout the project, you will be expected to attend regular one-to-one meetings with your supervisor, who will provide guidance and feedback as you explore your topic and complete previously agreed goals.
*Core for those students undertaking a project in the Computing and Communications pathway.
In this module we continue to develop your employability skills. We focus on your ability to communicate your scientific learning to reflect the interdisciplinary nature of your degree and empower you when it comes to job applications and interviews. This includes practice for assessment centres and associated tasks such as psychometric testing and skills testing, and 1-1 recruitment selection or panel-based interviews.
Dive into alternative programming language paradigms, beyond imperative and object-oriented programming. Emphasis is placed on functional programming languages and their unique constraints and features, such as more expressive type systems, immutability, pure functions and side-effects, lambdas, higher order functions, currying, map/reduce and pattern matching. You will also explore why functional languages bring about increased reliability and scalability and how they are now experiencing a resurgence within the software industry. Through hands-on laboratory sessions, you will learn a functional programming language, such as Haskell, and see how functional programming concepts are being integrated in mainstream programming languages, such as Java, Python and JavaScript, to create versatile multi-paradigm programming environments.
Learn how to teach computer science as a discipline, including organising engaging activities that address the digital skills gap, and inspiring new computer scientists. Through practical sessions, you will build a foundational understanding of computing pedagogy, learning to recognise how learners study computer science and arrange teaching to respond to their needs. You’ll explore the instruments and methods for effective teaching practices, considering UK and global contexts, and the differences within primary, secondary, and higher education.
The importance of equality, diversity, and inclusion (EDI), ethics, safeguarding and integrity considerations in education will be highlighted throughout. You will also learn how to plan or conduct teaching or outreach activities in schools and support the development of digital capabilities of young people in Lancashire.
Computer vision is a branch of artificial intelligence which aims to build computer-based systems that can interpret and draw meaning from digital images. This module digs into the fundamentals of image formation, information relating to the human visual system, and image interpretation methodologies including convolution, edge detection and feature extraction, and comparison. You will tackle key problems in current research, including semantic segmentation, object detection and three-dimensional image interpretation. You will cover a range of approaches, from low-level image processing to convolutional neural networks. At the end of the module, you will be equipped to construct software components that implement contemporary image processing and computer vision algorithms and recognise issues within computer vision in order to develop and evaluate solutions.
Digital Health explores the utilisation of digital technologies in healthcare. These technologies have an ever-growing role to play in improving health systems and public health, as well as increasing and improving access to health services. Discover the practical applications, implications, and how to enable technologies of digital health. You will survey sensor technologies that permit remote and automated patient monitoring and study the technologies and processes that enable patient-driven healthcare. You will also investigate the structure of health data in electronic health records and methods for the evaluation of digital health solutions. Alongside these applied topics, you’ll also learn about data governance and the ethical issues surrounding digital health technologies, policy, and regulation.
Distributed systems are the foundation upon which modern large-scale infrastructures are built, such as Cloud and service-oriented architectures (also known as ‘as a service’). You’ll investigate the cryptographic techniques used to build such systems, and secure distributed systems themselves.
You’ll study the design approaches to constructing a secure distributed system, including the common vulnerabilities and attack surfaces associated with distributed systems, and the widely adopted design patterns used to mitigate them. To ensure the correctness of such systems, you will be introduced to formal verification techniques covering system specification and the verification of their correctness. This is imperative for systems that form the foundation of modern infrastructures or when we require security guarantees in mission-critical scenarios. Formal languages are used to define precise system specifications, and automated verification techniques verify their correctness. The languages enable the modelling of distributed systems and algorithms, and the verification of properties to prove their correctness.
All programming languages are based on theoretical principles of formal language theory. In this module, you dive deep into formal languages representation and grammars, and how they relate to programming language compilers and interpreters. You will study formal language syntax and semantics, phrase structure grammars, and the Chomsky hierarchy. You will learn how to classify languages and explore the concepts of ambiguity in context-free grammar and its implications. In particular, you will learn about the compilation process including lexical analysis and syntactic analysis, recursive descent parsers and semantic analysis. Finally, you get to investigate the synthesis phase, where intermediate representations, target languages and structures lead to code generation.
Delve into machine learning, a fundamental concept in artificial intelligence that enables a computer to learn how to perform a task from data rather than traditional programming. In this module, you will study the key ideas and techniques behind machine learning and develop the practical skills needed to understand the implications and potential of machine learning in business and society. You will begin by looking at real-world problems, challenges, and fundamental techniques in current methodology. Building on this, you will cover a variety of approaches to machine learning, from decision trees to a wide range of deep neural networks, including multilayer perceptrons, convolutional neural networks, long short-term memory, autoencoder and generative adversarial networks.
Gain a broad understanding of Natural Language Processing (NLP), a branch of artificial intelligence where computational methods are used to analyse and understand human languages. Throughout the module, you will be exposed to the core concepts surrounding the NLP pipeline, covering methods and techniques for data collection, cleaning, tokenisation, and annotation using a hierarchy of linguistic levels (e.g. morphology, syntax, and semantics). You will experiment with and comparatively evaluate different methods and techniques, including rule-based, probabilistic, machine learning and deep learning approaches. You will also learn to apply and adapt NLP pipelines and tools to real-world text mining scenarios and problems, including examples such as health and finance. Key issues such as ethical data collection, bias in language models, and employing sustainable computing methods will also be touched upon throughout.
We introduce you to quantum computing's core principles and applications, contrasting its capabilities with classical systems. You will master Dirac notation and essential linear algebra, before examining quantum mechanics' four postulates, including qubits, gates, and circuit models. You will cover fundamental algorithms, including Deutsch's algorithm (implemented via Qiskit), Simon's problem, Bernstein-Vazirani, Grover's search (with BBBV Theorem analysis), and Shor's factorisation algorithm's impact on RSA cryptography.
Quantum cryptography components address post-quantum security and QKD protocols, while quantum information theory explores superdense coding, the no-cloning theorem and teleportation. The module concludes with emerging concepts like quantum money and the Elitzur-Vaidman bomb tester. Combining theoretical foundations with practical programming exercises, you will develop a critical understanding of both quantum computing's potential and current technological limitations, preparing you for advanced study or research in this rapidly evolving field.
Artificial Intelligence (AI) is being rapidly adopted in both research and industry, via technologies such as generative AI and large language models (LLM). They are being used for a range of applications by enhancing cyber security through the detection of anomalies, identifying threats, and monitoring abnormal activities. However, AI itself is susceptible to various attacks, such as prompt injection, data leakages, jailbreaking, bypassing guardrails, model backdoors, and more.
In this module, you will learn the fundamentals of AI for security and security for AI. This encompasses both how AI can be leveraged to augment and improve established cyber security techniques (from firewalls, risk analysis, to attack detection), as well as the emerging attacks against AI itself (data poisoning, extraction, membership inference). You’ll learn how AI is being used to revolutionise the established cyber security field, the emerging threats of adversarial attacks against ML models and data, and how to mitigate those attack.
Understand security threats to cyber physical systems (CPS), such as industrial control systems, Internet of Things and connected vehicles, as well as techniques to mitigate these threats. Compared to traditional computer systems, CPS have limited resources and are typically deployed into a physical environment. This impacts the implementation of security techniques, as due to the environment they are deployed in you must consider both digital and physical attacks.
This module introduces how to identify the appropriate security techniques to use for a CPS. You will come to understand how to write secure applications for CPS and which alternative mitigations are appropriate. You will also learn how the limitations of these systems impact the guarantee of security. In addition to this, you will examine the safety and privacy threats facing CPS and explore the interconnectivity between them and security.
Computing plays a pivotal role in addressing growing energy costs, greenhouse emissions, and the climate crisis. Whilst we can use computing and its associated digital technologies to shape a greener society (as well as create more energy-efficient software and hardware), there exist important trade-offs in respect to economic cost, engineering effort, and environmental impact. Explore key concepts associated with creating sustainable computing, spanning from how a processor uses electricity to how computers shape a greener economy and society. You will study the methods to create more energy-efficient code, energy-aware device mechanisms, as well as the benefits and drawbacks of computing and digital technology with respect to its impacts upon the environment and economy.
Do you want to entertain and inspire children and the public in STEM? With an introduction to teaching as well as wider engagement opportunities, learn how to understand your audience and how to engage and enliven them. You will also learn how to balance this with educating them and presenting science in a way that’s appropriate to your audience. We include an introduction to pedagogy, how to inspire school pupils and how to use traditional and new media for science communication.
You will deliver an activity of your choosing to an audience. This could be a lesson at school, engaging with children at a large outreach event or delivering a public lecture. In addition, you will also reflect on your activity to discuss what you’ve learnt and what changes you would make. You can deliver this by either video, podcast or article.
Explore other groupings
Select a grouping to see the list of pathways available, alongside the core and optional modules you can take.