Course details

Year of entry

2024, 2025

Institution Code




Course Highlights

Excellent facilities

newly equipped facilities including computer labs, research centres and collaborative spaces.

Cutting-edge curriculum

the course reflects the latest advancements in computer science and industry-relevant skills.

Hands-on Learning

allowing you to apply theoretical knowledge in practical settings.

Why choose? this course?

The MSc Software Engineering course aims to provide you with an advanced understanding of software development principles, methodologies, and practices. The primary objectives of the programme are to enhance your knowledge and skills in designing, developing, and managing complex software systems.

The course:

  • Is designed to enhance your knowledge and skills in designing, developing, and managing complex software systems.
  • Strives to deepen your understanding of core areas such as software architecture, software project management, software quality assurance, and software testing. 
  • Aims to produce graduates who possess advanced proficiency in various programming languages, software engineering tools, and software development lifecycle methodologies.
  • Promotes critical thinking and problem-solving abilities, enabling you to analyse and address complex software engineering challenges. 
  • Emphasises the importance of software maintenance, evolution, and software reuse techniques to ensure long-term sustainability and efficiency of software systems. 
  • Covers ethical and professional considerations, promoting adherence to software engineering standards, best practices, and codes of conduct.

Key course features

  • Get a deep understanding of software engineering principles, methodologies, and practices.
  • Gain expertise in areas such as software development methodologies, software design and architecture, software testing and quality assurance, software project management, and software maintenance.
  • Enhance your ability to analyse complex software engineering problems and devise effective solutions.
  • Application of appropriate software engineering techniques, tools, and methodologies to address real-world challenges encountered in software development projects.
  • Foster research skills in software engineering.
  • Conduct independent research, investigate emerging trends and technologies, and contribute to the advancement of knowledge in software engineering through scholarly work.
  • Gain practical skills in software development, including programming languages, frameworks, and industry tools.
  • Get hands-on experience in designing, implementing, and testing software systems.
  • Cultivate effective teamwork and collaboration skills.
  • simulate real-world scenarios and collaborative software project development.
  • Learn ethical responsibilities and professional conduct in software engineering.
  • Understand ethical issues such as privacy, security, and intellectual property, and adherence to professional codes of conduct and best practices.
  • Foster a mindset of lifelong learning and professional development.
  • Stay updated with new technologies, methodologies, and practices in the ever-evolving field of software engineering.

Advanced practice option

  • Apply your knowledge and skills in a real-world environment. 
  • Build upon the standard MSc programme to provide yourself with the opportunity to enhance personal and professional development in preparation for your entry into the job market.
  • Engage in critical self-reflection.
  • Build self-awareness, flexibility, and resilience.
  • Gain an edge in the job market through practical work experience.

What you will study

The MSc Software Engineering course aims to offer you an advanced comprehension of software development principles, methodologies, and practices. Its principal objectives include enriching your expertise in the design, development, and management of intricate software systems.

The course endeavours to deepen your grasp of fundamental areas like software architecture, project management, quality assurance, and testing. Through a blend of theoretical coursework, research endeavours, and hands-on assignments, the course seeks to graduate individuals equipped with advanced proficiency in diverse programming languages, software engineering tools, and lifecycle methodologies.

Additionally, the course places emphasis on nurturing critical thinking and problem-solving skills, empowering students to analyse and tackle complex software engineering dilemmas.


  • Advanced Development Methodologies
  • Advanced Software Development
  • Advanced Data Structures and Algorithms
  • Advance Machine Learning
  • Database Systems and Data Analytics
  • Research Methods for Digital Technologies
  • Dissertation

Teaching & Assessment


The computing program suite employs a diverse range of cutting-edge industry tools and software, complemented by innovative teaching methods. This dynamic approach not only imparts industry-relevant skills but also empowers students to elevate their work to new heights when possible. The entire staff enthusiastically embraces the active learning framework (ALF), resulting in numerous enhancements to the teaching and learning experience.


Assessments in software engineering at the university level are designed to evaluate students' understanding, application, and proficiency in various aspects of the discipline. These assessments encompass a diverse range of methods, including:

  • Coursework and Projects: Assignments and projects provide hands-on experience, allowing students to apply theoretical knowledge to real-world scenarios. This may include software development projects, research papers, or problem-solving tasks.
  • Coding Assignments: Practical coding assignments assess students' programming skills, logical reasoning, and ability to develop efficient and effective code.
  • Group Projects: Collaborative projects evaluate teamwork, communication, and the ability to work in diverse teams, reflecting the collaborative nature of the tech industry.
  • Presentations: Students may be required to present their findings, solutions, or project outcomes, enhancing their communication and presentation skills.
  • Laboratory Work: Practical sessions in computer labs assess students' ability to apply concepts, troubleshoot issues, and work with various tools and technologies.
  • Problem-solving Exercises: These exercises challenge students to solve complex problems, encouraging critical thinking and analytical skills.
  • Reports and Documentation: Writing reports or documenting project processes assesses students' ability to communicate technical information clearly and concisely.

Personalised Support

The department follows a well-established open-door approach, actively interacting with students, alumni, and industry stakeholders. Essential information and communication avenues are facilitated through tools like Teams and Moodle. Additionally, every student is assigned a personal tutor, fostering regular meetings, while additional personalized support is extended to part-time students through the Virtual Learning Environment (VLE).

Career prospects

One obvious advantage of a Software Engineering master’s degree is that students become more employable. Jobs prospects include, but not limited to:

  • Software Engineer/Developer
  • Software Architect
  • Systems Analysis
  • Quality Assurance Engineer/Test Engineer
  • Project Manager
  • DevOps Engineer
  • Data Engineer
  • Research Scientist

Employability Features Built into the Course:

Advanced Technical Skills: Graduates acquire advanced technical skills in areas such as programming, data analysis, artificial intelligence, machine learning, and cybersecurity, making them highly desirable candidates for technical roles in various industries.

Specialised Knowledge: The program offers opportunities for specialisation in specific areas of computer science, allowing graduates to tailor their expertise to match industry demands. This specialisation enhances their competitiveness in the job market.

Research Experience: For students interested in research-oriented careers, the program offers opportunities to engage in research projects, contributing to advancements in the field and preparing students for roles in academia or industry research labs.

Professional Development: the programs include modules or workshops focused on professional skills development, such as communication, teamwork, project management, and leadership, which are essential for success in the workplace.

Networking Opportunities: Students have the chance to network with industry professionals, alumni, and fellow students through seminars, workshops, career fairs, and alumni events, expanding their professional network and potential job opportunities.

Fees & funding

You do not have to pay your tuition fees upfront.

The fees you pay and the support available will depend on a number of different factors. Full information can be found on our fees & finance pages. You will also find information about what your fees include in the fee FAQs.

All fees are subject to any changes in government policy, view our postgraduate fees.

Programme specification

You can see the full programme specification here.


If you are applying as an European / International Student, and live outside of the UK, you should make your application through our online application system, Centurus.

For information about the university’s entry requirements for EU/international students, please visit our international section