Entry requirements

Degree:

Honours degree (2:2 or higher) or postgraduate diploma in a relevant subject.

Further entry requirements may apply

Key facts

Study mode:

Full-time


Start dates:

September, January (12 months)


Fees:

2026/27 tuition fees for UK students: £10,000

2026/27 tuition fees for EU and international students: £18,600

Overview

Our Software Engineering MSc/PG Dip/PG Cert has been developed in collaboration with sector-leading organisations such as Airbus and Deloitte UK, and is regularly reviewed, ensuring your learning is in line with industry needs. Academics from the Software Technology Research Laboratory, which forms part of the Cyber Technology Institute, an ‘Airbus Centre of Excellence in Cyber Security’, also regularly input onto the course, meaning you will also benefit from their expertise and research in the sector.

On this course, you will develop the core technical knowledge and skills needed to design, develop, test and maintain a diverse range of software applications that are fit-for-purpose for industry and business. This includes the ability to maintain systems that incorporate AI components, including AI-assisted coding, practices increasingly known as vibe coding or vibe engineering where AI convert ideas into working prototypes. You will engage with a variety of engaging modules, such as Cloud-based System Design, Internet of Things, Software Quality Assurance and Testing and Critical Systems and Modern Programme Techniques, which includes considering how large companies such as X (formerly Twitter) are making use of modern programming techniques in Scala and Python to save time and reduce runtime errors You will also consider the implications of vibe-engineering when used to accelerate software delivery at scale.

In your final block of teaching, you will have the opportunity to carry out a Postgraduate Project with the support of your academic supervisor. This self-managed, in-depth study will enable you to showcase your skills and knowledge and tailor them to a particular problem or research project of your own choosing. You will develop and demonstrate a critical understanding of requirements verification and validation as essential responses to the risks introduced by AI-mediated coding, in particular over-reliance on AI-suggested solutions, and the generation of code that appears plausible but may be functionally incorrect.

By the time you graduate, you will have the skills and knowledge required to kick start your career in software engineering. Our graduates have gone on to work as software engineers, consultants and project managers for companies such as IBM, BT and Deloitte UK, contributing to complex software systems and platforms that integrate AI or AI-augmented components You will also be well-positioned to take your studies further by continuing towards a PhD.

Key features

  • You can exit the course with a Postgraduate degree, Postgraduate Diploma or Postgraduate Certificate award depending on the credits you have successfully achieved.
  • Study in an innovative department with an international reputation for research, training and education in software engineering. In the last UK HEFCE Research Assessment Exercise (RAE 2008), 85 per cent of the research produced by The Software Technology Research Laboratory was considered to be world-leading or internationally excellent. 
  • Access specialist research labs equipped with industry-standard software, including IntelliJ, Scala, Clojure, UML V2 and Microsoft’s C# and F# languages support functional programming within the .NET framework.
  • Meet like-minded people and get hands-on experience by joining our student societies, such as DMU Hackers, an ethical hacking society that meets weekly to share skills and prepare for competitions.
  • Boost your career prospects through an optional one-year paid placement* where you can build industry contacts and gain experience in your area of interest. Previous Software Engineering MSc students have undertaken placements with ARM Ltd, as well as local and national consultancy and software firms.
  • Benefit from block teaching, where most students study one subject at a time. A simple timetable will allow you to really engage with your learning, receive regular feedback and assessments, get to know your course mates and enjoy a better study-life balance.

What you will study

Year 1

Block 1: Cloud Based System Design and Software Quality Assurance

This module covers software requirement analysis, architecture and system design, quality assurance and testing, and project management in the cloud-based software development life cycle. It also introduces the growing role of Artificial Intelligence (AI) in modern software engineering, including AI-based software engineering techniques and approaches for developing and testing intelligent cloud systems.

Part A

This Part A aims to provide students with insight into quality assurance in the software engineering process and effective testing methodologies. It covers key concepts, principles, best practices, and practical approaches for testing software and assuring its quality. As modern software systems become more complex and increasingly AI-enabled, it is important to establish clear processes and rigorous testing techniques to ensure software reliability, security, and performance.

Methods for software testing and quality assurance are integrated throughout the software development process. This module discusses software quality standards, quality assurance planning, software metrics, configuration management, and change control. It also explores industrial practices and modern techniques used to support software quality management.

Software testing is a key mechanism for quality control. The module introduces systematic and effective approaches to software testing and prepares students to apply professional testing methods in structured and managed ways. It also examines AI-assisted software engineering techniques, automated testing approaches, and techniques for testing AI-based cloud systems, including issues related to reliability, transparency, and trustworthiness.

Part B

This Part B covers the analysis and design aspects of cloud-based system development. Requirement analysis determines user expectations for a new or modified product and establishes software and system requirements. System design defines the architecture, modules, interfaces, and data needed to satisfy specified requirements within Quality of Service (QoS) parameters and scalable cloud environments.

The module focuses on software requirement elicitation, analysis, specification, validation, verification, and management within an iterative development process that includes prototyping and traceability from requirements through to design. A key aspect of the module is the “good design” of cloud-based systems, including scalability, reliability, maintainability, and security.

The module also introduces modern AI-supported software engineering practices and the use of intelligent tools to support software development, system analysis, and project management. Students will develop an understanding of how AI technologies are transforming cloud-based software systems and software engineering practices in industry.

Block 2: Internet of Things and High-Assurance System Design

This module covers the design of IoT systems and the use of formal approaches to enhance the quality of software systems.

Part A

This Part A provides students with insight into the Internet of Things (IoT), its enabling technologies, and methodology to build reliable IoT systems. The IoT envisions that ordinary objects can be embedded with electronics and software that enable them to sense, process, and communication data through a network like the Internet. This module covers the main sensing technologies and communication technologies for IoT. It also discusses in-depth how the data collected in IoT are processed to support decision-making. As such, the module looks at cloud computing, data analytics techniques, and data visualisation approaches. Students are introduced to tools for building models of IoT systems and executing them. The module also discusses the challenges in building reliable IoT systems such as cybersecurity and interoperability of devices from different manufacturers.

Part B

This Part B covers formal approaches to the development of computer systems. Students will learn how to apply rigorous mathematical and logical techniques to specify, develop, and verify computer systems. The requirements of the systems are specified in a formal language, then refined into codes in a high-level programming language (like C++ or Java) through successive transformational steps. Such an approach guarantees that the system implementation satisfies the specification of the system. This approach is particularly important for the development of safe-critical systems and security-critical systems, where system faults can lead to dangerous consequences such as loss of life or properties. The module emphasises the approaches that are based on the automata theory, such as the finite state machines and the state charts. Students are introduced to algorithms and tools for transforming finite state machines and state charts step-by-step into program codes.

Block 3: Critical Systems and Modern Programming Techniques

This module provides useful and practical insight into the design, development and management of critical systems.

Part A

Critical Systems (CSs) are those whose operation poses a risk to human life, health, economy or environment. Typically, CSs are large and complex industrial systems or products constructed through the effort of multi-disciplinary teams. The engineering and assessment of modern CSs is thus a complex, multi-disciplinary task involving mechanical, structural, electronic and software engineers, as well as psychologists. Economists and sociologists also contribute to understanding socio-technical interactions between systems and human operators. Modern CSs increasingly incorporate Artificial Intelligence (AI) components, such as autonomous decision-making systems, e.g., smart healthcare. This module introduces whilst critically analysing CSs, and exploring the role of formal methods and modelling for AI system specification. Ethical and professional issues will also be explored.

Part B

Multi-core computer architectures have become the norm, leading to the adoption of modern programming techniques that emphasise concurrency, scalability, and abstraction. These techniques are widely used in industry, such as Scala in large-scale systems and Erlang in fault-tolerant distributed systems. Ericsson’s Erlang has been used in industrial applications for many years – particularly in the construction of fault-tolerant, distributed systems; and Microsoft’s C# and F# languages support functional programming within the .NET framework. Modern techniques allow programmers to focus on the problem to be solved without having to insert a significant amount of detailed code solely for managing concurrency. Furthermore, these techniques promote a style of coding in which a source of runtime errors is significantly reduced. The rise of AI systems has further accelerated the need for modern programming that support data- intensive programming and the development of scalable, distributed AI applications. Modern programming languages (e.g., C++, C#, Python, Java, Scala) increasingly support functional programming constructs, e.g., lamdas, immutability, and higher-order functions.

The module uses a contemporary functional programming language to introduce the student to the basic principles of functional program design. Topics will cover the relevant theoretical underpinning enabling students to understand and appreciate the paradigm and how it differs from more traditional approaches to software development. Practical experience will form the core of the module and students will be expected to use functional programming design patterns, libraries and modern programming techniques for scalable, reliable and intelligent software systems.

Block 4: Advanced Research Topics and Research Methods

This module conceptualises software engineering practice as both research and a development activity. Students are expected to apply software engineering principles to design and build solutions while also adopting a systematic and evidence-based approach to investigating problems, evaluating outcomes, and justifying design decisions.

Part A

This part of the module performs several roles for each student. The precise nature of what each student gets out of the module will depend almost entirely on the emphasis they place on their chosen research topic. First and foremost, students should be inspired to engage with current topics in software engineering at the time they study the module. Since the intention is for this to feel current, it is likely that tutor led sessions will be constructed around upcoming technologies and methodologies (e.g., focused on security and privacy aspects and AI application in software development) as well as current internal and external research projects. Contents include Crypto analysis, anonymisation in database development, Gen-AI coding, foundation on cybersecurity, etc. It is expected that when students select the topic in which they will be assessed, they too will choose to research and analyse state of the art techniques and practises. Second, students should take a holistic look at topics. This enables them to establish the context into which the more detailed technical, procedural and social aspects fit. Students should have sufficient sense of shape to see how work in this topic evolved and how this relates to other areas of research and best practise. Third, students will engage with a small number of topics in depth. This might for example involve secure software engineering; AI utilisation in software development and coding, security and privacy vulnerabilities in software applications, web-service infrastructures or agent-oriented software design. Module content and delivery will seek to assure that the software engineering students learn and appreciate ongoing research efforts and get a sense of this fast-progressing field of study. This is likely to be structured around research projects undertaken by students and in association with their coursework. Advanced research topics will be covered by internal or external experts.

Part B

This part of the module focuses on the ethical and professional context of software engineering, mainly cyber security, digital engineering, systems management, and digital forensics. In doing so, it addresses the theory of professionals in organisations, security management, project management, the legal framework, ethical issues in professional practice and their resolution, and the legal and professional responsibilities of the digital engineer, systems manager, computer forensic, and security practitioner. The legal component will address UK and international law affecting cyber security, AI ethics, digital engineering, systems management, and digital forensics. Content covers standards; policy-based management; laws and issues in human-computer interaction, including ethical theories and their application; professionalism and responsibility in organisations; and risk analysis and contingency planning. The module also identifies and explicates relevant research methods. Contents include research methods and research paradigms - for example, what the problem is, how it is handled, quantitative versus qualitative approaches, the study of a range of research methodologies, data collection methods such as trials, exploratory studies, and surveys, the importance of ethical and access-level considerations, learning skills, peer assessment, and publications. It also covers consideration of outcomes; writing and studying at master's level; e-research support; project planning and management; identifying resource requirements; planning the research project; risk assessment; terms of reference; and controlling the project and modifying project plans.

Blocks 5 and 6: PGT Project

The aim of the project/dissertation is to provide you with the opportunity to carry out a self-managed, in-depth study involving design, fact finding, analysis, synthesis, and the integration of complex ideas, which are sometimes based on incomplete and contradictory data or requirements. The project is likely to demonstrate the application of skills you have acquired from the taught course to the solution of a particular problem or research topic. Normally, the project is a self-contained piece of work of considerably greater depth than can be accommodated within a taught module and may reflect and build on the entire breadth of material you have studied.

While there are a range of project types, there are no rigid distinctions between them, as the scope and importance of literature analysis, primary research, and system development can be tailored to fit your needs and interests, as well as the topic. Development projects, research projects, and literature study projects are the most common types:

Development Project: In a development project, you are normally expected to produce a working piece of software that serves a particular purpose, meeting a defined set of requirements. In some cases, the product may include self-designed and purpose-built hardware as well as software, for instance an innovative robotic system. The running system itself is normally the major deliverable and the most important factor in the assessment. However, the requirements analysis, system design work, and the testing and evaluation of the software—and how these are documented and presented—are also important to the assessment of development projects. The development work should be set in the context of the questions it is intended to answer and how it contributes to answering them.

Research Project: Research projects normally involve the design and implementation of original empirical research. You are expected to create a research proposal and plan, identify research questions, undertake a literature review, select and evaluate data collection and data analysis methods, design and implement empirical research, analyse data, and report research outcomes. All research projects must be undertaken within, and contribute to, a theoretical framework.

Literature Study Project: A project may consist of a literature review alone when it is extensive, strategically significant, rigorously defined and implemented, and includes well-thought-out recommendations and implications. This requires you to produce a novel and creative analysis that attempts to answer one or more unanswered (or perhaps incorrectly answered) research questions. You are expected to produce a report describing and critically evaluating existing documents and other sources of information, setting them in the context of a clear conceptual framework, and presenting a coherent analysis.

Consultancy Project: In a consultancy project, you are normally expected to produce a consultancy-style report to meet a clearly defined need for a specific client or audience, providing a detailed and sophisticated critical evaluation of existing techniques, approaches, or systems, or proposing solutions to a practical problem, with recommendations. The practical consultancy work should be set in the context of how it can address broader scholarly questions.

Data Analysis Project: In a data analysis project, you are expected to evaluate, select, and apply computational techniques for data analysis and knowledge extraction to solve a novel problem, develop a new technique for solving a data analysis problem, or create a novel way of presenting data or statistical information to support a particular human activity. You should demonstrate and illustrate the application of the technique and evaluate how well it solves the problem.

Conceptual Analysis Project: In a conceptual analysis project, you are expected to develop a paper-based analysis of a system or of how to solve a problem. Such projects might involve analysing a working software system by applying one or more analytical techniques (for example, for usability evaluation), modelling a process, producing a notation or technique for describing a specific type of information that a software system might generate or use, or devising a procedure for tackling a particular class of problem in software development. You are expected to demonstrate and illustrate the application of the technique and evaluate how effectively it solves the problem.

Teaching and assessment

There are provisions for a traditional classroom-based delivery, either part-time or full-time. Teaching will include formal lectures, tutorials and labs. You will also be expected to undertake independent study and research to support your assignments and dissertation. Assessment will be 100 per cent coursework. It will involve various group and individual methods, including oral exams, projects, presentations, written essays and reports.

Contact hours

The time allocated to study is around 30 hours per week, carried out in block teaching. The taught element of the course lasts for the first two semesters, while the third semester is devoted to the project. 

Note: All modules are indicative and based on the current academic session. Course information is correct at the time of publication and is subject to review. Exact modules may, therefore, vary for your intake in order to keep content current. If there are changes to your course we will, where reasonable, take steps to inform you as appropriate.

Why choose DMU?

Your future career

Graduates are prepared for positions in consultancies, software houses or project management and can also undertake further study towards a doctoral or PhD degree.

Careers and employability

An award-winning Careers Team, the #1 UK university for careers support (TargetJobs National Graduate Recruitment Awards, 2024), we provide you with all the support you need.

Our careers commitment doesn’t end at graduation. With DMU for Life, you’ll have access to lifelong career support throughout your entire career.

How we support you

Unlimited one-to-one careers coaching

Get tailored advice and guidance from our expert careers advisors whenever you need it.

Professional development programme

Boost your employability with workshops, bootcamps, training sessions, and employer-led events.

Inside Edge Mentoring

Connect with professionals from dynamic industries to expand your career insight, network and knowledge of the world of work.

24/7 access to digital employability tools

Access LinkedIn Learning, personalised CV feedback, mock interviews and more – anytime, anywhere.

Entrepreneurship support

Bring your business ideas to life with events, networking opportunities, expert speakers, workshops and links to funding opportunities.

Job search assistance

Get support finding part-time work, placements, internships and graduate jobs.

Employability projects and placements

Gain real-world experience through academic business consultancy projects or work placements (course-dependent).

Industry-informed teaching

Learn from real-world experience and academics, guest lecturers and business leaders who share their industry expertise.

Discover postgraduate careers

Fees and funding

UK and Channel Island students

2026/27 tuition fees for UK students: £10,000

EU and international students

2026/27 tuition fees for EU and international students: £18,600

Funding

Postgraduate Master's Loan (Student Loans Company)

A Postgraduate Master’s Loan can help with course fees and living costs while you study a postgraduate master’s course.

Funding for postgraduate loans is different if:

  • you normally live in Scotland
  • you normally live in Wales
  • you normally live in Northern Ireland

Find out more about a Master's loan

Additional postgraduate loans and grants

Sir Thomas White Loans Charity

Applicants may be able to borrow up to £10,000 interest-free for 9 years from the Sir Thomas White Loans Charity for postgraduate study. Applicants must be resident in Leicestershire or Rutland for more than three years and be aged over 18 years old and under 45 years old.

Telephone number for Sir Thomas White Loans Charity: +44 (0)116 204 6620

Sir Harry James Riddleston Charity of Leicester

Applicants may be able to borrow up to £10,000 interest-free for five to 10 years for business, vocational or education purposes from the Sir Harry James Riddleston Charity of Leicester. You must be aged over 18 and under 45 and reside in Leicestershire or Rutland.

Telephone number for Sir Harry Riddleston Charity of Leicester: +44 (0)1858 463322

Educational grants, trusts and charities

Some educational trusts and charities provide small grants to help towards books, fees or equipment. There are several searchable online Grants databases such as Turn2us.

Funds for women graduates

Funds for Women Graduates offer grants towards living expenses for the final year of a PhD or DPhil for UK, EU or international students.

Going to university represents a real investment in your future and there is plenty of financial support available to students for both tuition fees and living expenses.

Find out more about funding

Additional costs

The core textbooks for all modules are available in the Kimberlin Library, and journal articles in your reading lists are also mostly available electronically from your myDMU login.

Some students like to purchase their own text books or print course documents and we suggest allowing approximately £200 per year for this.

All students are required to pay for their DBS check if required for your programme or placement.

In addition, students will be required to pay for their travel costs to placements or project locations.

All students are provided the opportunity to participate in DMU Global trips. These trips are subsidised by the University, and the cost and subsidy vary by location.

Scholarships

20% Postgraduate Alumni Scholarship

This scholarship provides DMU graduates with an exclusive tuition fee discount of 20 per cent. The discount is available on selected full-time, part-time and distance learning postgraduate taught courses running across multiple start dates.

Read more about the Postgraduate Alumni Scholarship
20% Postgraduate Alumni Scholarship

Global Access Scholarship

This scholarship rewards eligible prospective international students joining a postgraduate taught degree at DMU with up to a £3,000 fee reduction.

Find out more about the Global Access Scholarship
Global Access Scholarship

Entry requirements

Degree:

Honours degree (2:2 or higher) or postgraduate diploma in a relevant subject.


Work experience:

Industry experience

If you have no formal academic qualifications but do have extensive industry experience we will consider your application on an individual basis.

English language requirements

If English is not your first language an IELTS score of 6.0 overall with 5.5 in each band (or equivalent) when you start the course is essential.

English language tuition, delivered by our British Council-accredited Centre for English Language Learning, is available both before and throughout the course if you need it.

Key facts

Course title

Software Engineering

Award

MSc, PG Dip, PG Cert

Programme code

G60071

Study mode

Full-time

Study level

Postgraduate

Start dates

September, January

Duration

12 months

How to apply for a masters degree

Save these for your application
Programme title:
Software Engineering PG Cert
Programme code:
G60071

You can apply using the DMU Application Portal. This method allows you to save, revisit and review your application before submitting it at any time of the day.

The following should be submitted with the application form:

  • Where required, one current reference on official headed paper or from a professional email address. This can be a work or academic reference and must be signed and recently dated
  • Copies of your academic transcripts
  • Copies of your degree or diploma certificates
  • Your personal statement
DMU Application Portal