Software Engineers are programming architects, who apply computer science, engineering and mathematical analysis to the design and development of large, complex, and critical software systems.
Our programme provides you with a comprehensive grounding in computer science, while equipping you with the specialist skills required for a profession in software engineering and design. You will gain the technical knowledge and experience to manage and develop high-quality, well-designed software systems, along with an understanding of business and system requirements.
Based around our dedicated Software Engineering Design Studio, your first year will provide you with the fundamentals of computer science, software development, and digital and information systems, allowing you to gain the essential knowledge needed for analysis and design. You will also begin to develop complex computer programming skills, learning to write, analyse, debug, test, and document computer programmes.
Your second year offers advanced modules and will develop your foundational understanding and your programming and software design skills.
You will spend your third year studying at one of our overseas partner universities building your global awareness and connectivity.
In your final year, as well as studying a range of core modules, you also have the opportunity to undertake an individual project. During this project you will work closely with one of our academics, allowing you to use and further develop the skills acquired throughout your degree.
Your final year will also give you the opportunity to undertake an individual project. In this project you will work closely with one of our academics, allowing you to use and further develop the skills acquired throughout your degree.
Lancaster University will make reasonable endeavours to place students at an approved overseas partner university that offers appropriate modules which contribute credit to your Lancaster degree. Occasionally places overseas may not be available for all students who want to study abroad or the place at the partner university may be withdrawn if core modules are unavailable. If you are not offered a place to study overseas, you will be able to transfer to the equivalent standard degree scheme and would complete your studies at Lancaster.
Lancaster University cannot accept responsibility for any financial aspects of the year or term abroad.
Discover how the degree enables students to gain technical knowledge and key skills to design, develop and create software systems fit for industry.
Somewhere to get involved
Lancaster's computer students are spoilt for choice when it comes to the extra-curricular societies and groups that our School has to offer them.
LUHack
Founded in 2014, the Lancaster University Ethical Hacking Group (LUHack) is a group of individuals who meet weekly to learn and practise ethical hacking in a safe (and legal!) environment. Anyone can learn the basics of hacking in the first semester before moving onto advanced topics and regularly attending conferences and competing in Capture the Flag competitions.
Computer Science Society
The Computer Science Society works closely with the School to provide exciting opportunities for you to engage with alongside your degree. We facilitate talks from industry, guest lectures, career development opportunities and more! Join us and get involved in a range of projects, from the small and simple to the long-term and ambitious. You can even get funding for your own idea if you have one! All students benefit from our peer-led support sessions for your academic studies, ranging from workshops to lectures.
Women++@InfoLab
Women++@InfoLab supports marginalised groups of staff and students within the School Of Computing and Communications. There are opportunities to meet up, as well as networking lunches, talks from industry representatives and academics, and workshops. This year we hosted the annual British Computing Society Lovelace Colloquium, and many of our undergraduates had the opportunity to present posters.
Careers
In the twenty-first century, software is pervasive in almost all aspects of modern life. From the apps on our phones, to specialist financial programmes, to the physics engines in videogames, software is used in almost every business in every industry. Therefore, a degree in Software Engineering at Lancaster University could open the door to an almost unlimited range of career opportunities. Our degrees will equip you with not only technical knowledge of a range of programming languages, but will also give you valuable experience in the processes behind software design and creation that will make you invaluable to employers, or equip you for further academic study. Our software engineering graduates also have excellent earning potential, with the median starting salary of graduates from our courses being £30,361 (HESA Graduate Outcomes Survey 2023).
Here are just some of the roles that our BSc and MSci Software Engineering students have progressed into upon graduating:
Web Applications Developer – Lancaster University
Graduate Software Engineer – BBC
Systems Developer – Cardinal Newman College
Application Support Team Lead – The Hut Group (THG)
Associate JavaScript Engineer – Tick42
Junior Software Engineer – Bank of America
Cloud Engineer – Rackspace
Technical Project Manager – ETX Capital
Software Engineer - OpenBet
Backend Developer – Dojo
Full Stack Developer – Duel
Software Support Engineer – Service Geeni
Lancaster University is dedicated to ensuring you not only gain a highly reputable degree, you also graduate with the relevant life and work based skills. We are unique in that every student is eligible to participate in The Lancaster Award which offers you the opportunity to complete key activities such as work experience, employability/career development, campus community and social development. Visit our Employability section for full details.
Supporting your future
At Lancaster, we're passionate about ensuring our graduates are prepared for the world beyond university - here are a few ways that we aim to support your future ambitions.
Entry requirements
Grade Requirements
A Level AAA
Required Subjects A level Mathematics or Computer Science grade A. We are committed to encouraging the adoption of the A level Computing curriculum and recognising desirable subjects. Students applying with an A level or IB Higher Level in Computer Science or Mathematics will be considered for a lower offer.
GCSE Mathematics grade B or 6, English Language grade C or 4
IELTS 6.0 overall with at least 5.5 in each component. For other English language qualifications we accept, please see our English language requirements webpages.
Other Qualifications
International Baccalaureate 36 points overall with 16 points from the best 3 Higher Level subjects
BTEC Distinction, Distinction, Distinction
We welcome applications from students with a range of alternative UK and international qualifications, including combinations of qualification. Further guidance on admission to the University, including other qualifications that we accept, frequently asked questions and information on applying, can be found on our general admissions webpages.
Delivered in partnership with INTO Lancaster University, our one-year tailored foundation pathways are designed to improve your subject knowledge and English language skills to the level required by a range of Lancaster University degrees. Visit the INTO Lancaster University website for more details and a list of eligible degrees you can progress onto.
Contextual admissions
Contextual admissions could help you gain a place at university if you have faced additional challenges during your education which might have impacted your results. Visit our contextual admissions page to find out about how this works and whether you could be eligible.
Course structure
Lancaster University offers a range of programmes, some of which follow a structured study programme, and some which offer the chance for you to devise a more flexible programme to complement your main specialism.
Information contained on the website with respect to modules is correct at the time of publication, and the University will make every reasonable effort to offer modules as advertised. In some cases changes may be necessary and may result in some combinations being unavailable, for example as a result of student feedback, timetabling, Professional Statutory and Regulatory Bodies' (PSRB) requirements, staff changes and new research. Not all optional modules are available every year.
The creation of the microprocessor revolutionised global innovation and creativity. Without such hardware we would have no laptops, no smartphones, no tablets. Life changing technologies from MRI scanners to the Internet would simply not exist.
This module provides an introduction to the field of Digital Systems – the engineering principles upon which all contemporary computer systems are based. Students will study the elements that work together to form the architecture of digital computers, including computer processors, memory, data storage, and input/output. They will unearth the ways in which these are enabled by digital logic – where George Boole’s theory of a binary based algebra meets electronics. Building on SCC.111, students also discover how the software programs we write translate to, and interact with, such hardware. Finally, students 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.
Computing and data drive many critical elements of modern society, directly or indirectly. It’s vital that there is a strong theoretical foundation to computer science. This module begins by examining the hard questions central to computer science and reasoning itself to prepare students for the in-depth critical thinking and discussion required at university level. Students will cover the fundamentals in logic, sets, and mathematics of vectors, matrices, and linear algebra which have practical applications in software such as computer graphics. Algorithms, abstract data types, and analysis of algorithms is introduced to allow our students to make reasoned decisions about the design of their programs. Finally, they will get the chance to investigate and apply 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.
This module is designed to provide students with a strong foundation in principles of responsible computing, covering the legal, social, ethical and professional challenges that a practising computer scientist regularly faces. It is heavily research-led, delivered by staff actively researching these issues, and draws upon contemporary examples of where technology has resulted in both benefits and harm to people and society. Students will develop an understanding of the legal frameworks, professional codes, working practices and civil licenses designed to provide protection from these harms. Particular emphasis is placed on considerations relating to the need for computer systems to be trusted and trustworthy.
As a part of this module, students will study the use of participatory research methods in exposing real-world requirements for computing systems and ensuring equitable distribution of benefits and harms of digital innovation across the population, in alignment with a changing legal landscape. Inclusive design practices through the development phases from research to implementation are reviewed, examining the prevalence and impact of the gender data gap, accessibility constraints and exploring the benefits of diversity in the workplace through real-world examples. They will also discover ethical ways to practice personal and professional development for career progression.
Software now forms a central aspect of our lives. From the applications we run on our phones to the satellites in space, all modern technology is enabled by software. This module provides an introduction to the field of Software Development - the processes and skills associated with designing and constructing computer programs. Students are not expected to have any previous experience with the field of computing, and will study 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 Python, JavaScript and C. They will discover how programming languages can be classified and how to choose the best language for the task at hand.
Students will also investigate and apply the practical Software Engineering skills needed to ensure software is correct, robust and maintainable. These include techniques for problem analysis, design formulation, programming conventions, software commenting and documentation, testing and test case design, debugging techniques and version control.
Core
core modules accordion
Building upon the foundations set in SCC.131, this module investigates the deeper concepts that underpin computer networking and operating systems. Students explore the role, operation, and design rationale of the IP protocol suite –which enables the global internet. Taking a top-down approach, students discover how protocols such as HTTP, DNS, and TCP/IP operate on a fundamental level, the metrics and tools we use to evaluate the performance of computer networks.
Using laboratory-based simulators, students will also explore first-hand how routing protocols ensure user data is efficiently and safely routed across the global internet. They will study the interface between computer networks and operating systems, and how the concept of virtualization has transformed the way computer systems and networks efficiently make use of their hardware resources.
This module builds upon knowledge gained in Part I by providing a theoretical background to the design, implementation, and use of database management systems, both for data designers and application developers. It incorporates consideration of information quality and security in the design, development, and use of database systems.
As a part of this module, students will be introduced to a brief history of database management systems, Entity-Relationship Models, the relational model and the data normalisation process, and alternative schema definitions, NoSQL and object-oriented data models, big data, as well as transaction processing and concurrency control. The module embeds practical access and retrieval considerations and how to interact with databases written in a number of programming languages.
Most computing systems are interactive and have people in the loop. Human-computer interaction (HCI) is concerned with all aspects of designing, building, evaluating, and studying systems that involve human interaction. From a computing perspective, students focus on enabling interaction through user interfaces, and on creating interactive systems that are usable and provide a good user experience.
The module introduces students to the foundations of HCI in understanding human behaviour, technologies for interaction, and human-centred design. Students will review human perception, cognition and action and relate these to design principles and guidelines; discuss different user interface paradigms and key technologies such as pointing; and introduce practical methods for design and evaluation with users.
The module aims to provide students with information on Authentication, Authorisation, and Accountability (AAA) and its building blocks. An emphasis will be given on authorisation, where access control models, policies and mechanisms will be examined.
Students will review main categories of existing cryptosystems (e.g. symmetric, asymmetric) in order to understand their use and offered security properties (e.g. confidentiality, integrity, non-repudiation) in practice. They will explore operating systems security and network security concepts in connection to AAA and cryptosystems, as well as being introduced to formal verification and how it can be used to verify properties on cyber security systems.
Software development is a collaborative and professional process, requiring far more than a single individual undertaking programming activities. This module investigates the processes, tools, techniques, and notations required to successfully undertake the development of commercial grade software.
Focussing on the key non-functional parameters of software reuse, scalability, maintainability, and extensibility, students will explore the benefits brought by the rigour associated with object-oriented, strongly typed languages (such as Java). Students will practice the concepts of composition, inheritance, polymorphism, interfaces, and traits and the commonly employed design patterns that they enable. They will also study the processes and notations associated with defining the relationship and behaviour of complex computer software systems.
Utilising our award winning Software Engineering Design Studio, groups will work on contemporary challenges in software design. Applying the knowledge they have gained in their first year, students will produce a complex, innovative and concrete group project, allowing them to develop skills in project planning, management and execution, requirements analysis, systems design and testing strategies. Through this module, students will gain an understanding of the principles of software engineering.
In groups, students will also give a demonstration of a working system and present elements of their work in written, graphical and verbal forms through the production of materials such as reports, a website, posters and presentations.
Optional
optional modules accordion
This module provides broader exposure to alternative programming language paradigms beyond imperative and object-oriented programming. Particular emphasis is given to functional programming languages, and their unique constraints and features. More specifically, students will investigate how introducing the concept of absolute immutability into programming languages enables a suite of expressive mechanisms within programming languages including pure functions, lambdas, higher order functions, pattern matching, currying, map/reduce, and pattern matching.
As a part of this module, students will also explore why functional languages bring about increased reliability and scalability, and how they are now experiencing a resurgence within the software industry. Finally, through hands-on laboratory sessions, students 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
In this module, students will build upon the foundations of algorithms and their complexity to develop a deeper understanding of algorithmic approaches to computational problem solving. They will explore computational complexity theory, which allows us to consider the very nature of computability – including non-deterministic polynomial (NP) complexity classes such as NP-hard, NP-complete and the classes of problems which cannot be solved. Students will be introduced to classical approaches to problem solving such as divide and conquer, recursion, and parallel approaches, emphasizing their relative benefits and weakness to different classes of problem. They will study advanced data structures in depth, such as tries, heaps, suffix arrays, k-d trees, and distributed hash tables, and explore the approaches for their efficient construction and use.
These theoretical aspects are grounded through practical work in the lab and placed in the context of case studies of extreme scale and embarrassingly parallel computing, derived from real-world problem domains introduced by invited speakers where possible. Finally, students explore key implications of algorithm performance including their impact on energy efficiency and sustainability to provide a coherent interface with other modules.
This module explores some of the practical and applied aspects of cyber security: Penetration Testing and Forensics. Students will learn common approaches and tools that attackers use to undermine the security of digital systems and gain first-hand experience of the weaknesses that can be present in real-world systems through guided work in highly controlled, small-group practical labs. They will explore ways in which these attacks can be identified, how the digital traces of an attack be captured, appropriately evidenced and then interpreted at a later date. The module will wrap the technical and theoretical aspects within the legal, regulatory and ethical frameworks for the appropriate application of ethical penetration testing.
This module introduces the key ideas and fundamental principles of artificial intelligence (AI) and the types of problems that can be addressed by AI. Students will be introduced to the core concepts and philosophy of AI, including its history and definitions, classify the various approaches to AI, and discuss its presence in the modern world alongside its ethical considerations. They will unearth the underlying principles of search spaces, knowledge representation, and inference logic that form the core of rule-based systems.
Students will then go on to learn the principles of machine learning, emphasising clustering (e.g. k-means), classification (e.g. k-nearest neighbour) algorithms, linear regression, and neural networks. This deep dive provides the essential grounding necessary to progress to modules in topics such as Machine Learning, Computer Vision, and Natural Language Processing.
Computer architecture has now reached a critical juncture where we are witnessing a step change in computer performance – not due to the increased performance of individual processors, but through the inclusion of many, sometimes even thousands, of processor cores in a single computer.
In this module, students will learn how to classify the different designs of multi-processor computers such as symmetric CPUs and general-purpose GPUs. They will investigate their benefits and drawbacks and study the theories and factors that can all too easily bound their seemingly limitless computational potential. Through a combination of lab exercises and lectures, students will discover how to use contemporary software tools and techniques to create high performance applications that exploit multi-threaded instruction parallelism whilst avoiding race conditions, deadlock and livelock, and utilise GPUs to exploit data parallelism.
Extended reality (XR) refers to the interactive technologies that blend the virtual and physical worlds together into a hybrid environment or an immersive experience. The technology is based on multi-modal platforms that integrate use of ubiquitous, pervasive, wearable, and omnipresent computing.
This module situates XR's different offerings within Milgram’s continuum and identifies the needs and means of augmenting the human sensory channels. The computing perspective takes an applied approach to design, implementation, deployment, and evaluation of systems that are used to create an XR environment and deliver an immersive experience. Students will learn about the latest trends in research, emerging technologies, and novel tools, with an analytical focus on the technology and the socio-ethical implications of widespread prevalence of the technology.
The internet and the world wide web have now pervaded every aspect of our lives, from e-commerce 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 ubiquitous.
This module studies the various approaches to internet applications development, investigating both the client side and server-side approaches, discussing the trade-off of performance, scalability, privacy, and trust associated with these approaches. Students will review the role of “cloud infrastructures” (federated distributed computation) in the provision and management of internet applications. Through interactive lectures and small group practical sessions, students study common frameworks for client-side application development and create and deploy an internet application from first principles.
This module provides a deep dive into the theory and practical application of advanced operating systems (OS) and associated hardware concepts. Through a combination of lab exercises and lectures, students will investigate the ways that modern operating systems are optimized to extract the maximum performance and efficiency from 21st century computer hardware.
Students will also study how the fundamental concept of virtualisation enables safe, efficient, and fair sharing of memory and processor resources across multiple applications and services. They will investigate the structure, operation, and scalability of OS subsystems, such as memory allocators and file systems, as well as discuss the performance implications of operating systems and discover how performance can be maintained even in the presence of relatively low performance input/output. Finally, students will explore how symmetric multi-processors can be used transparently to optimize the performance of a computer, the implications this has for system software, and how and why the effective application of caching policies and temporal/spatial locality greatly affect the performance of a system.
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 with respect to economic cost, engineering effort, and environmental impact.
In this module, students will explore key concepts associated with creating sustainable computing, spanning from how a processor uses electricity to how computers shape a greener economy and society. They 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.
Core
core modules accordion
Your third year will be spent at one of our partner institutions in Europe, USA, Canada or Australia, where you will undertake modules that are equivalent to those offered at Lancaster. This is an opportunity to extend your horizons and experience another culture.
Core
core modules accordion
SCC.201 gave students within small groups hands-on practical experience in the development of individual software modules. SCC.311 takes this learning a step further in introducing more complex and realistic software systems.
Through the studio approach, students will focus on the integration and networking of software modules to create larger systems. In particular, students learn software engineering techniques relevant to medium scale networked projects such as models of distributed architecture, large-scale integration testing, distributed team development, and techniques for large scale software quality. As part of the project, teams will deliver reports, code, and demonstrate a working system. Further they will present certain elements of their work in written, graphical, and verbal forms through the production of materials which may include reports, a website, poster, and presentation.
Working on a project with industry involvement, and building on the skills acquired in Software Design Studio Project II (Networked Studio), groups will work on a large system that will be deployed with live users at the end of the course. Focusing on building a real-life innovative system that will potentially have commercial or research value, the development process will adopt an agile approach with a strong emphasis on software engineering practice. Students will deliver and demonstrate a working system and they will also present certain elements of their work in written, graphical and verbal forms through the production of materials such as reports, websites, posters and presentations.
Completion of the module offers hands-on experience through working closely with clients in software. Students are equipped with a range of skills for planning, designing and building industry standard software systems, and they’ll be working as part of a large team, resolving any conflicts.
Optional
optional modules accordion
Distributed Systems form the foundation upon which modern community platforms such as Distributed Cloud Infrastructures, and service-oriented architectures are based (also known as “as a service” operations). Students will investigate advanced cryptography techniques used to build such systems, and security infrastructures built into the distributed systems themselves.
Students will also study the alternative design approaches to the construction of secure distributed systems and their subsequent security evaluation. More specifically, they will investigate the common vulnerabilities and attack surfaces associated with distributed systems, and the widely adopted design patterns used to mitigate them.
Computer networks have experienced an exponential growth in traffic volume and size since the early days of the Internet. Packet network technologies underpin every aspect of our daily work, social life, and entertainment – even enabling the global populous to continue working during a global pandemic.
This module investigates the evolution of network technologies to cope with the global Internet growth trends and is organized in three topic areas. Core topics explore the architecture of devices and protocols that facilitate end-to-end connectivity across the global Internet and allow control of connectivity properties, like bandwidth and latency. Research and Industry topics explore cutting-edge research and industry perspectives on the challenges that face production network technologies, such as performance and security, and elaborate on future directions in networking to address them. Finally, practical topics will introduce students to network emulation and simulation technologies and offer the opportunity to recreate realistic network testbeds. Through small group practical sessions, students will gain experience using open-source software frameworks to implement, configure and test common network functionalities, such as routing and firewalling.
Computer graphics is an interdisciplinary field which deals with visual and image aspects of computing. It underpins the development of video games, use of computer-generated imagery in movies and has helped advance machine learning, cryptography, and parallel computing.
In this module, students explore the fundamental concepts related to visual content generation through relevant theory, such as the essential mathematics, graphics data structures and algorithms, kinematics, collisions, colour, and light. In particular, students will investigate the practical aspects of graphical scenes and rendering including virtual cameras, materials, mesh manipulation, scene-graphs, animation and modelling. They will learn about hardware-specific concepts designed to improve the quality and performance of graphics applications, such as GPU programming, mobile and cloud render-pipelines, shaders, stereoscopic and volumetric rendering. Emerging technologies and trends in research are also introduced with an analytical lens to identify future challenges, opportunities, and solutions.
In this module, students will explore how to teach Computer Science (CS) as a discipline and organise the engagement activities that are contributing to addressing the digital skills gap, and inspiring new computer scientists. Through practical sessions, they will build a foundational understanding of computing pedagogy, learning to recognise how pupils study computer science and arrange teaching to respond to their needs.
This module will explore the instruments and methods for conducting effective teaching practices in a variety of settings - exploring UK and global contexts, and the differences within primary, secondary, and higher education. It aims to highlight the importance of equality, diversity, and inclusion (EDI), ethics, safeguarding and integrity considerations in CS education. Among the teaching practices, students will also learn how to plan and conduct teaching or outreach activities in schools – providing the opportunity for them to practice educational skills by contributing to activities in regional schools and supporting the development of digital capabilities of young people in Lancashire.
Computer vision is a branch of artificial intelligence, in which we aim to develop computer-based systems that can interpret and draw meaningful deductions from digital images.
This module covers the fundamentals to understanding image formation and information relating to the human visual system and some fundamental image interpretation methodologies, including convolution, edge detection and feature extraction and comparison. Students will tackle key problems in current research, including semantic segmentation, object detection, and three-dimensional image interpretation. They will cover a range of approaches, from low-level image processing to convolutional neural networks. At the end of the module, students 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.
This module aims to equip students with the necessary knowledge to efficiently gather and process the increasingly large amount of security data generated by applications and users of computer systems. Students will review the different data types, data storage and access techniques, and problems with handling massive amounts of data that is typically associated with the monitoring and auditing of cyber security systems. They will learn how to use and develop tools to address the complexities of real-time analytics that are necessary to inform critical decisions in systems administration.
Students will also learn and practice exploratory data analysis, data collection and data mining techniques to capture data with security significance and discover how to produce graphical representations of security data. This module also covers the fundamental and advanced techniques of security data visualization to enable the extraction and effective communication of insights and incidents, and enables students to develop interactive dashboards to enhance monitoring and observability capabilities.
This module will explore machine learning, which sits within the field of artificial intelligence and enables a computer to learn how to perform a task from data rather than traditional programming.
Students will study the key ideas and techniques of machine learning, which will help students to develop practical skills in problem solving and to understand the implications and potential of machine learning in business and society. They will begin by looking at real-world machine learning problems, challenges, and fundamental techniques in current machine learning methodology. Building on this, the module 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.
Digital Health concerns the utilisation of digital technologies for health and care. It has a key and ever-growing role to play in improving health systems and public health, as well as increasing and improving the equity of access to health services. It has the potential to transform health and care delivery and support individuals to improve their health.
In this module, students will discover the practical applications, implications, and enabling technologies of digital health. They will survey the sensor technologies that permit remote and automated patient monitoring, study the technologies and processes that enable patient-driven healthcare. This module also investigates the structure of health data in electronic health records, and methods for the evaluation of digital health solutions. Alongside these applied topics, students will also learn about data governance and the ethical issues surrounding digital health technologies, policy, and regulation.
Large scale distributed computing systems are now commonplace, implemented through the use of “cloud infrastructures” where computing and storage resources are pooled into data centres around the globe. In scientific terms, these are examples of the wider field of Distributed Systems.
In this module, students will learn about the fundamental principles that underpin modern distributed systems, the abstractions on which they are based, and their characteristics. Particular emphasis is placed on the scalability and fault-tolerance of these systems, and students will get to undertake a deep dive into the commonly used frameworks for distributed systems, such as Google infrastructure, and highly distributed peer to peer approaches. Small group practical labs reinforce theory through hands-on experience of distributed systems development.
This module exposes students to the challenges associated with developing firmware for embedded systems, which are increasingly common in everyday appliances with the rise of Cyber Physical Systems, such as smart cities and the internet of things.
Students will take a deep dive into embedded systems hardware and low-level programming. They will study the architecture of microcontrollers – the highly specialized, resource constrained computer processors that power embedded systems. Building on this, they will then learn about the state-of-the-art software development processes that allow us to write highly efficient code for these devices. They will discover the industry standard protocols and techniques for integrating peripherals with microcontrollers, and low power wireless network communication technologies that enable their interconnection. The module is anchored by giving students real experience with a variety of embedded systems in small group practical sessions.
All programming languages are based on theoretical principles of formal language theory. In this module, students take a deep dive into formal languages representation and grammars, and how relate to programming language compilers and interpreters.
Students will study formal language syntax and semantics, phrase structure grammars and the Chomsky Hierarchy. They will learn how to classify languages and explore the concepts of ambiguity in Context Free grammars and its implications. In particular, they will learn about the compilation process including lexical analysis and syntactic analysis, recursive descent parsers, and semantic analysis. Finally, students get to investigate the synthesis phase, where intermediate representations, target languages, and structures lead to code generation. In the School, we blend lectures with small group lab sessions where students gain hands-on experience of applying such theory.
This module provides a broad introduction to Natural Language Processing (NLP), a branch of Artificial Intelligence where we develop computational methods to analyse and understand human languages.
Students will be exposed to the core concepts of 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). They will experiment with and comparatively evaluate different methods and techniques, including rule based, probabilistic, machine learning and deep learning approaches. Students 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 are also emphasised throughout the learning and teaching in this module.
The rapid increase in consumption and innovation within Artificial Intelligence (AI) and Machine Learning (ML) has significant repercussions for cyber security. This encompasses both how AI and ML can be leveraged to augment and improve established cyber security techniques (from firewalls, risk analysis, and attack detection), as well as the emerging threat of attacks against AI itself (data poisoning, extraction, membership inference).
In this module, students will learn key concepts of secure AI, how it is being used to revolutionise the established cyber security field, as well as the emergent threats of attacks against ML models and data. By the end of the module, students will be able to compare and contrast the roles that Artificial intelligence and Machine Learning can play within the field of cyber security, analyse contemporary security threats against Artificial Intelligence and Machine Learning technologies, as well as evaluate the effectiveness of cyber security AI technologies.
This module discusses the security threats to Cyber-Physical Systems (CPS) - such as Industrial Control Systems, IoT, Smart Cities, and Connected Vehicles, and techniques to mitigate these threats. Students will learn how to identify appropriate security techniques and protocols to use depending on the specifics of a CPS. This involves understanding how to write secure applications for CPSs and alternative technologies, such as Transport Layer Security (TLS).
Students will also explore how the limitations of these systems impact the security guarantees that can be provided. In addition to security, this module will examine the safety and privacy threats CPSs will be subject to and explore the interconnectivity between them and security. By the end of the module, students will be able to design experiments to test the effectiveness of a CPS’s security, as well as translate their experiences of securing one CPS to another within a different domain.
Fees and funding
Our annual tuition fee is set for a 12-month session, starting in the October of your year of study.
There may be extra costs related to your course for items such as books, stationery, printing, photocopying, binding and general subsistence on trips and visits. Following graduation, you may need to pay a subscription to a professional body for some chosen careers.
Specific additional costs for studying at Lancaster are listed below.
College fees
Lancaster is proud to be one of only a handful of UK universities to have a collegiate system. Every student belongs to a college, and all students pay a small college membership fee which supports the running of college events and activities. Students on some distance-learning courses are not liable to pay a college fee.
For students starting in 2025, the fee is £40 for undergraduates and research students and £15 for students on one-year courses.
Computer equipment and internet access
To support your studies, you will also require access to a computer, along with reliable internet access. You will be able to access a range of software and services from a Windows, Mac, Chromebook or Linux device. For certain degree programmes, you may need a specific device, or we may provide you with a laptop and appropriate software - details of which will be available on relevant programme pages. A dedicated IT support helpdesk is available in the event of any problems.
The University provides limited financial support to assist students who do not have the required IT equipment or broadband support in place.
Study abroad courses
In addition to travel and accommodation costs, while you are studying abroad, you will need to have a passport and, depending on the country, there may be other costs such as travel documents (e.g. VISA or work permit) and any tests and vaccines that are required at the time of travel. Some countries may require proof of funds.
Placement and industry year courses
In addition to possible commuting costs during your placement, you may need to buy clothing that is suitable for your workplace and you may have accommodation costs. Depending on the employer and your job, you may have other costs such as copies of personal documents required by your employer for example.
The fee that you pay will depend on whether you are considered to be a home or international student. Read more about how we assign your fee status.
Home fees are subject to annual review, and may be liable to rise each year in line with UK government policy. International fees (including EU) are reviewed annually and are not fixed for the duration of your studies. Read more about fees in subsequent years.
We will charge tuition fees to Home undergraduate students on full-year study abroad/work placements in line with the maximum amounts permitted by the Department for Education. The current maximum levels are:
Students studying abroad for a year: 15% of the standard tuition fee
Students taking a work placement for a year: 20% of the standard tuition fee
International students on full-year study abroad/work placements will be charged the same percentages as the standard International fee.
Please note that the maximum levels chargeable in future years may be subject to changes in Government policy.
Scholarships and bursaries
You will be automatically considered for our main scholarships and bursaries when you apply, so there's nothing extra that you need to do.
You may be eligible for the following funding opportunities, depending on your fee status:
Unfortunately no scholarships and bursaries match your selection, but there are more listed on scholarships and bursaries page.
Scheme
Based on
Amount
Based on {{item.eligibility_basis}}
Amount {{item.amount}}
We also have other, more specialised scholarships and bursaries - such as those for students from specific countries.
Throughout all of our SCC modules we aim for a 50:50 split of lectures to practical work every week, providing you with weekly experience at building systems in our labs or working through theoretical concepts in workshops. Our lab spaces were fully refurbished in 2019 and are designed with a bright a spacious theme.
Comfortable capacities
Each lab has a maximum capacity of 45 students, providing what we believe is a comfortable upper limit on lab-based teaching group sizes, and many of our labs are designed around pods or clusters of computers which help to facilitate group work and also generally foster a social atmosphere.
24/7 access
We have six lab spaces in total, each of which is available exclusively to our own students who have 24/7 access to the lab suite.
Remote in
All of our own lab machines run the Ubuntu operating system, and we also have a remote virtual machine access service allowing you to use our lab software from your own computer anywhere on the campus.
The information on this site relates primarily to 2025/2026 entry to the University and every effort has been taken to ensure the information is correct at the time of publication.
The University will use all reasonable effort to deliver the courses as described, but the University reserves the right to make changes to advertised courses. In exceptional circumstances that are beyond the University’s reasonable control (Force Majeure Events), we may need to amend the programmes and provision advertised. In this event, the University will take reasonable steps to minimise the disruption to your studies. If a course is withdrawn or if there are any fundamental changes to your course, we will give you reasonable notice and you will be entitled to request that you are considered for an alternative course or withdraw your application. You are advised to revisit our website for up-to-date course information before you submit your application.
More information on limits to the University’s liability can be found in our legal information.
Our Students’ Charter
We believe in the importance of a strong and productive partnership between our students and staff. In order to ensure your time at Lancaster is a positive experience we have worked with the Students’ Union to articulate this relationship and the standards to which the University and its students aspire. View our Charter and other policies.
Undergraduate open days 2024
Our summer and autumn open days will give you Lancaster University in a day. Visit campus and put yourself in the picture.
Our historic city is student-friendly and home to a diverse and welcoming community. Beyond the city you'll find a stunning coastline and the picturesque Lake District.